]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Imported Translations from Transifex
authorOpenStack Jenkins <jenkins@openstack.org>
Sat, 22 Mar 2014 06:30:25 +0000 (06:30 +0000)
committerOpenStack Jenkins <jenkins@openstack.org>
Sat, 22 Mar 2014 06:30:25 +0000 (06:30 +0000)
Change-Id: Ic115e0e1dfa03f2b75348699eaee2727e35f3cf9

65 files changed:
neutron/locale/ar/LC_MESSAGES/neutron.po
neutron/locale/bg_BG/LC_MESSAGES/neutron.po
neutron/locale/bn_IN/LC_MESSAGES/neutron.po
neutron/locale/bs/LC_MESSAGES/neutron.po
neutron/locale/ca/LC_MESSAGES/neutron.po
neutron/locale/cs/LC_MESSAGES/neutron.po
neutron/locale/da/LC_MESSAGES/neutron.po
neutron/locale/de/LC_MESSAGES/neutron.po
neutron/locale/el/LC_MESSAGES/neutron.po
neutron/locale/en_AU/LC_MESSAGES/neutron.po
neutron/locale/en_GB/LC_MESSAGES/neutron.po
neutron/locale/en_US/LC_MESSAGES/neutron.po
neutron/locale/es/LC_MESSAGES/neutron.po
neutron/locale/es_MX/LC_MESSAGES/neutron.po
neutron/locale/eu/LC_MESSAGES/neutron.po
neutron/locale/eu_ES/LC_MESSAGES/neutron.po
neutron/locale/fa/LC_MESSAGES/neutron.po
neutron/locale/fi_FI/LC_MESSAGES/neutron.po
neutron/locale/fil/LC_MESSAGES/neutron.po
neutron/locale/fr/LC_MESSAGES/neutron.po
neutron/locale/gl/LC_MESSAGES/neutron.po
neutron/locale/he/LC_MESSAGES/neutron.po
neutron/locale/he_IL/LC_MESSAGES/neutron.po
neutron/locale/hi/LC_MESSAGES/neutron.po
neutron/locale/hr/LC_MESSAGES/neutron.po
neutron/locale/hu/LC_MESSAGES/neutron.po
neutron/locale/id/LC_MESSAGES/neutron.po
neutron/locale/is_IS/LC_MESSAGES/neutron.po
neutron/locale/it/LC_MESSAGES/neutron.po
neutron/locale/it_IT/LC_MESSAGES/neutron.po
neutron/locale/ja/LC_MESSAGES/neutron.po
neutron/locale/ka_GE/LC_MESSAGES/neutron.po
neutron/locale/km/LC_MESSAGES/neutron.po
neutron/locale/kn/LC_MESSAGES/neutron.po
neutron/locale/ko/LC_MESSAGES/neutron.po
neutron/locale/ko_KR/LC_MESSAGES/neutron.po
neutron/locale/ml_IN/LC_MESSAGES/neutron.po
neutron/locale/mr_IN/LC_MESSAGES/neutron.po
neutron/locale/ms/LC_MESSAGES/neutron.po
neutron/locale/nb/LC_MESSAGES/neutron.po
neutron/locale/ne/LC_MESSAGES/neutron.po
neutron/locale/neutron.pot
neutron/locale/nl_NL/LC_MESSAGES/neutron.po
neutron/locale/pa_IN/LC_MESSAGES/neutron.po
neutron/locale/pl_PL/LC_MESSAGES/neutron.po
neutron/locale/pt/LC_MESSAGES/neutron.po
neutron/locale/pt_BR/LC_MESSAGES/neutron.po
neutron/locale/ro/LC_MESSAGES/neutron.po
neutron/locale/ru/LC_MESSAGES/neutron.po
neutron/locale/ru_RU/LC_MESSAGES/neutron.po
neutron/locale/sk/LC_MESSAGES/neutron.po
neutron/locale/sl_SI/LC_MESSAGES/neutron.po
neutron/locale/sq/LC_MESSAGES/neutron.po
neutron/locale/sr/LC_MESSAGES/neutron.po
neutron/locale/sv/LC_MESSAGES/neutron.po
neutron/locale/sw_KE/LC_MESSAGES/neutron.po
neutron/locale/tl/LC_MESSAGES/neutron.po
neutron/locale/tl_PH/LC_MESSAGES/neutron.po
neutron/locale/tr_TR/LC_MESSAGES/neutron.po
neutron/locale/uk/LC_MESSAGES/neutron.po
neutron/locale/ur/LC_MESSAGES/neutron.po
neutron/locale/vi_VN/LC_MESSAGES/neutron.po
neutron/locale/zh_CN/LC_MESSAGES/neutron.po
neutron/locale/zh_HK/LC_MESSAGES/neutron.po
neutron/locale/zh_TW/LC_MESSAGES/neutron.po

index 2ee9b8fb4b8816fcaaf43408917a1ce42df427ef..9b6b7229cfed8f095454c31f735d8f6b88b60d98 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-09-12 23:31+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Arabic "
@@ -452,7 +452,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -521,7 +521,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -529,20 +529,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -612,115 +612,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -746,7 +751,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -761,94 +766,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -949,7 +965,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1368,7 +1384,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1421,7 +1437,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1607,7 +1639,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2647,68 +2678,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2783,7 +2821,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2819,7 +2857,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2878,12 +2916,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2990,11 +3028,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3026,7 +3064,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3763,21 +3801,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5075,7 +5103,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5210,7 +5238,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5229,45 +5257,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5600,192 +5628,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6546,49 +6574,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6628,7 +6656,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6677,142 +6705,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6883,12 +6929,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6901,12 +6948,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7333,7 +7385,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7658,7 +7710,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7670,12 +7722,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7684,7 +7736,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7709,15 +7761,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7727,8 +7779,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7736,8 +7788,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7745,8 +7797,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7754,7 +7806,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7828,8 +7880,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7837,8 +7889,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7846,8 +7898,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7855,7 +7907,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8304,9 +8356,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8693,16 +8745,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8948,64 +9000,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9049,7 +9101,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9057,45 +9109,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9348,7 +9400,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9858,177 +9910,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10036,55 +10088,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10225,41 +10277,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10297,12 +10353,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10327,46 +10383,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10382,7 +10438,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10589,7 +10645,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10609,8 +10665,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10621,35 +10677,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10657,7 +10713,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10665,7 +10721,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10673,7 +10729,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10681,13 +10737,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10695,7 +10751,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10706,7 +10762,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10714,13 +10770,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10728,30 +10784,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10771,7 +10827,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10779,7 +10835,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10787,7 +10843,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10798,7 +10854,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10845,19 +10901,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11132,54 +11188,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11208,126 +11264,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11581,12 +11637,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11963,29 +12019,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11994,138 +12050,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12364,28 +12432,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12573,80 +12641,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12672,76 +12740,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12859,137 +12927,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13004,103 +13072,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13108,348 +13176,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13457,12 +13525,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13617,11 +13685,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13976,156 +14044,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14780,40 +14848,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14831,29 +14900,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15430,35 +15500,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15542,146 +15612,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15712,6 +15783,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15784,7 +15860,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15994,17 +16070,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16684,20 +16760,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16719,3 +16781,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index abb8c2c45cddac8c783ee7f397b187634689e9f5..13e4af255e4b112fd197e7af044679d2697bfb6d 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Bulgarian (Bulgaria) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 37a26738b5fab12603464243dd4cba4c930744c9..665d28f95b1388107a9dee00d29407a5a29e4913 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-10-20 01:34+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Bengali (India) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16614,20 +16690,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16649,3 +16711,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index f4bea3da3677ee774d989f76a3b57ac431531b0f..6c4ab2ab8c8404097801542f2aea8a788761787d 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Bosnian "
@@ -452,7 +452,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -521,7 +521,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -529,20 +529,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -612,115 +612,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -746,7 +751,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -761,94 +766,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -949,7 +965,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1368,7 +1384,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1421,7 +1437,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1607,7 +1639,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2647,68 +2678,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2783,7 +2821,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2819,7 +2857,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2878,12 +2916,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2990,11 +3028,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3026,7 +3064,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3763,21 +3801,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5075,7 +5103,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5210,7 +5238,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5229,45 +5257,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5600,192 +5628,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6546,49 +6574,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6628,7 +6656,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6677,142 +6705,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6883,12 +6929,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6901,12 +6948,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7333,7 +7385,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7658,7 +7710,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7670,12 +7722,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7684,7 +7736,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7709,15 +7761,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7727,8 +7779,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7736,8 +7788,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7745,8 +7797,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7754,7 +7806,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7828,8 +7880,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7837,8 +7889,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7846,8 +7898,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7855,7 +7907,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8304,9 +8356,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8693,16 +8745,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8948,64 +9000,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9049,7 +9101,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9057,45 +9109,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9348,7 +9400,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9858,177 +9910,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10036,55 +10088,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10225,41 +10277,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10297,12 +10353,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10327,46 +10383,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10382,7 +10438,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10589,7 +10645,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10609,8 +10665,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10621,35 +10677,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10657,7 +10713,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10665,7 +10721,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10673,7 +10729,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10681,13 +10737,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10695,7 +10751,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10706,7 +10762,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10714,13 +10770,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10728,30 +10784,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10771,7 +10827,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10779,7 +10835,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10787,7 +10843,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10798,7 +10854,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10845,19 +10901,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11132,54 +11188,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11208,126 +11264,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11581,12 +11637,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11963,29 +12019,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11994,138 +12050,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12364,28 +12432,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12573,80 +12641,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12672,76 +12740,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12859,137 +12927,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13004,103 +13072,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13108,348 +13176,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13457,12 +13525,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13617,11 +13685,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13976,156 +14044,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14780,40 +14848,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14831,29 +14900,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15430,35 +15500,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15542,146 +15612,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15712,6 +15783,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15784,7 +15860,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15994,17 +16070,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17329,20 +17405,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17364,3 +17426,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index b55e0dc83a06a1a1e345ff9c6a623c98e90f55f2..57032eac1304eca8d967d9d187d58bfbb5f23f9b 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Catalan "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index ac2641014cf590043b6cc9616b1d7a8b53a52cd5..ee34c998d3a605e2841d8c0ef32f4fc1bdd0b77a 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Czech "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 872a9c4d9d8eda41c8d4345738da293c22a8ce0f..b5957c3ef54c7071ea6cbc9c38760a68de4be4fa 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-05-16 09:23+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Danish "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 94d6d1ef945f8b61c962d607703b956fa08bf6d3..777bd3cea4902a899e6dff6ceb63f1340f9054d0 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-05-22 08:17+0000\n"
 "Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
 "Language-Team: German "
@@ -455,7 +455,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr "Position von UNIX-Domänensocket von Metadatenproxy"
 
@@ -528,7 +528,7 @@ msgstr ""
 "%(port_num)d Routerports auf dem Zugangsnetz für Metadaten gefunden. Nur "
 "Port '%(port_id)s' für Router '%(router_id)s' wird berücksichtigt"
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -536,20 +536,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr "Erstellung des Statusberichts fehlgeschlagen!"
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -622,115 +622,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr "Routerport %s verfügt über keine IP-Adresse"
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr "Ignorieren mehrerer IP-Adressen auf Routerport %s"
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr "Gratuitous ARP wurde nicht gesendet: %s"
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr "Die externe Netzbrücke '%s' ist nicht vorhanden"
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr "Synchronisation von Routern fehlgeschlagen"
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr "Agent der Ebene 3 gestartet"
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr "Der hinzugefügte Routeneintrag lautet '%s'"
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr "Der entfernte Routeneintrag lautet '%s'"
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -756,7 +761,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr "%s löschen"
@@ -771,94 +776,105 @@ msgid "OVS cleanup completed successfully"
 msgstr "OVS-Bereinigungsprozedur erfolgreich abgeschlossen"
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr "Sicherheitsgruppenerweiterung wurde inaktiviert."
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr "Abrufen von Sicherheitsgruppenregeln für Geräte über RPC %r"
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr "Sicherheitsgruppenregel auf fernem Server aktualisiert: %s"
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr "Sicherheitsgruppenelement auf fernem Server aktualisiert: %s"
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr "Provider-Regel aktualisiert"
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr "Initialisierung von Firewalleinstellungen (driver=%s)"
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr "Vorbereiten von Filtern für Geräte %s"
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr "Sicherheitsgruppenregel aktualisiert %r"
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr "Sicherheitsgruppenmitglied aktualisiert %r"
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr "Gerätefilter für %r entfernen"
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr "Firewallregeln aktualisieren"
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr "Portfilter für %s aktualisieren"
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -959,7 +975,7 @@ msgstr "PID-Datei %s ist bereits vorhanden. Dämon bereits aktiv?"
 msgid "Location to store DHCP server config files"
 msgstr "Position zum Speichern von Konfigurationsdateien des DHCP-Servers"
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr "Für das Erstellen von Hostnamen zu verwendende Domäne"
 
@@ -1387,7 +1403,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr "Von Nova-Metadatenserver verwendeter TCP-Port."
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 "Geheimer Schlüssel für gemeinsame Nutzung zum Unterzeichnen von Instanz-"
@@ -1447,7 +1463,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr "'network_id' und 'router_id' sind 'None'. Ein Wert muss angegeben sein."
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr "TCP-Port zum Empfangen von Anforderungen des Metadatenservers."
 
@@ -1637,7 +1669,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr "Agenten unter %(host)s über die Methode %(method)s benachrichtigen"
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2758,41 +2789,48 @@ msgstr ""
 "Zugeordnete IP-Adresse %(ip_address)s "
 "(%(network_id)s/%(subnet_id)s/%(port_id)s)"
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr "Netz %(network_id)s von %(host)s angefordert"
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr "Port %(device_id)s für %(network_id)s von %(host)s angefordert"
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
@@ -2801,29 +2839,29 @@ msgstr ""
 "DHCP-Port %(device_id)s auf Netz %(network_id)s ist auf %(host)s nicht "
 "vorhanden"
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr "Löschen von DHCP-Port für %(network_id)s-Anforderung von %(host)s"
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 "'fixed_ip' für %(subnet_id)s-Anforderung von %(host)s von DHCP-Port "
 "entfernt"
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2902,7 +2940,7 @@ msgstr ""
 "Teilnetz für Routerschnittstelle muss über eine Gateway-IP-Adresse "
 "verfügen"
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2947,7 +2985,7 @@ msgstr ""
 "bestimmten IP-Adresse bei Zuweisung einer dynamischen IP-Adresse "
 "erforderlich"
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr "'fixed_ip_address' kann nicht ohne 'port_id' angegeben werden"
 
@@ -3010,12 +3048,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr "Ressourcentyp '%(resource_type)s' hat mehr als %(maxlen)d Zeichen"
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr "%s ist ein ungültiges Attribut für 'sort_key'"
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -3124,11 +3162,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr "'cookie_name' sollte für diesen Sitzungspersistenztyp angegeben werden."
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr "'cookie_name' ist für diesen Sitzungspersistenztyp nicht zulässig"
 
@@ -3160,7 +3198,7 @@ msgstr ""
 msgid "Available commands"
 msgstr "Verfügbare Befehle"
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3950,21 +3988,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr "Ursprüngliche Ausnahme wird gelöscht: %s"
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5301,7 +5329,7 @@ msgstr "Fehler in Agentenereignisschleife"
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5438,7 +5466,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr "Zugeordnetes VLAN (%d) aus dem Pool"
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr "Verbindung mit Switch fehlgeschlagen: %s"
@@ -5457,45 +5485,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr "Plug-in-Initialisierung abgeschlossen"
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr "Aufruf von 'get_all_qoss()'"
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr "Aufruf von 'get_qos_details()'"
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr "Aufruf von 'create_qos()'"
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr "Aufruf von 'delete_qos()'"
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr "Aufruf von 'rename_qos()'"
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr "Aufruf von 'get_all_credentials()'"
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr "Aufruf von 'get_credential_details()'"
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr "Aufruf von 'rename_credential()'"
 
@@ -5828,192 +5856,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6774,9 +6802,9 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6785,15 +6813,15 @@ msgstr ""
 "Reservierung von VLAN %(vlan_id)s auf physischem Netz "
 "%(physical_network)s von Pool"
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr "Reservierung von einfachem physischem Netz %(physical_network)s von Pool"
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -6802,27 +6830,27 @@ msgstr ""
 "Reservierung von spezifischem VLAN %(vlan_id)s auf physischem Netz "
 "%(physical_network)s von Pool"
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr "Freigabe von VLAN %(vlan_id)s auf physischem Netz %(physical_network)s"
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 "'vlan_id' %(vlan_id)s auf physischem Netz %(physical_network)s nicht "
 "gefunden"
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6864,7 +6892,7 @@ msgstr "Ungültiger Wert für 'tenant_network_type': %s. Agent beendet!"
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6917,132 +6945,150 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr "Ungültige Zuordnung von physischem Netz: %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr "'network_delete' erhalten. Löschen von Netz %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr "Netz %s für Agent nicht definiert."
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr "'port_delete' erhalten"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr "'port_update' erhalten"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr "Bereitstellungsnetz %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr "Zurückfordern von lokalem Netz %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr "Binden von Port %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr "Nicht unterstützter Netztyp %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr "Netz %s ist auf diesem Agenten nicht verfügbar"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr "Lösen von Bindung von Port %s"
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr "Kein Port %s für Agent definiert."
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr "Hinzufügen von Port %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr "Port %(device)s aktualisiert. Details: %(device_details)s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr "Entfernen von Port %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr "Agent nicht synchron mit Plug-in!"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr "Agentenschleife umfasst neue Geräte!"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr "Fehler bei Agentenereignisschleife: %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
@@ -7050,11 +7096,11 @@ msgstr ""
 "Schleifeniteration hat Intervall (%(polling_interval)s contra "
 "%(elapsed)s) überschritten"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr "Agent erfolgreich initialisiert, läuft jetzt... "
 
@@ -7131,12 +7177,13 @@ msgstr ""
 "fehlgeschlagen, Fehler: %(ret_val)s "
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr "vSwitch nicht gefunden: %s"
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -7149,12 +7196,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7581,7 +7633,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr "%s-Agent beendet!"
@@ -7916,7 +7968,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr "'network_delete' erhalten"
 
@@ -7928,12 +7980,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7942,7 +7994,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7967,15 +8019,15 @@ msgstr "Port %s hinzugefügt"
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr "Abrufen von Portdetails für %(device)s nicht möglich: %(e)s"
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr "Port %(device)s aktualisiert. Details: %(details)s"
@@ -7985,8 +8037,8 @@ msgstr "Port %(device)s aktualisiert. Details: %(details)s"
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr "Gerät %s nicht für Plug-in definiert"
@@ -7994,8 +8046,8 @@ msgstr "Gerät %s nicht für Plug-in definiert"
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr "Zusatzeinheit %s entfernt"
@@ -8003,8 +8055,8 @@ msgstr "Zusatzeinheit %s entfernt"
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr "'port_removed' für %(device)s fehlgeschlagen: %(e)s"
@@ -8012,7 +8064,7 @@ msgstr "'port_removed' für %(device)s fehlgeschlagen: %(e)s"
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr "Port %s aktualisiert."
@@ -8088,8 +8140,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -8099,8 +8151,8 @@ msgstr ""
 "%(physical_network)s außerhalb des Pools"
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -8110,8 +8162,8 @@ msgstr ""
 "für Pool "
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -8121,7 +8173,7 @@ msgstr ""
 "außerhalb des Pools"
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr "Aufruf von 'get_port_from_device()'"
 
@@ -8572,9 +8624,9 @@ msgstr "MidonetPluginV2.get_network wird beendet: qnet=%r"
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr "Aufruf von 'MidonetPluginV2.delete_network': id=%r"
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8976,16 +9028,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -9233,64 +9285,64 @@ msgstr "Keine Zuordnung für physisches Netz %s"
 msgid "No flat network found on physical network %s"
 msgstr "Keine Zuordnung für physisches Netz %s"
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr "Entfernen von Tunnel %s aus Pool"
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9335,7 +9387,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9343,44 +9395,44 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 #, fuzzy
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr "Ungültiger Wert für 'tenant_network_type': %s. Service beendet!"
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 #, fuzzy
 msgid "VlanTypeDriver initialization complete"
 msgstr "Plug-in-Initialisierung abgeschlossen"
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 #, fuzzy
 msgid "physical_network required for VLAN provider network"
 msgstr "'physical_network' für %s-Netz angegeben"
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, fuzzy, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr "'physical_network' für %s-Netz angegeben"
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 #, fuzzy
 msgid "segmentation_id required for VLAN provider network"
 msgstr "'segmentation_id' für %s-Netz angegeben"
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, fuzzy, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 "'%(data)s' befinden sich nicht im Bereich zwischen %(min_value)s und "
 "%(max_value)s"
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, fuzzy, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
@@ -9389,7 +9441,7 @@ msgstr ""
 "Entfernen von VLAN %(vlan_id)s auf physischem Netz %(physical_network)s "
 "von Pool "
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, fuzzy, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr "Freigabe von VLAN %(vlan_id)s auf physischem Netz %(physical_network)s"
@@ -9642,7 +9694,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -10152,159 +10204,159 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr "'delete_ofc_tenant()' fehlgeschlagen. Grund: %s"
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 "'activate_port_if_ready()': überspringen, 'port.admin_state_up' ist "
 "'False'."
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 "'activate_port_if_ready()': überspringen, 'network.admin_state_up' ist "
 "'False'."
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 "'activate_port_if_ready()': überspringen, keine Portinformationen für "
 "diesen Port."
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 "'activate_port_if_ready()': überspringen, 'ofc_port' ist bereits "
 "vorhanden."
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr "'create_ofc_port()' fehlgeschlagen. Grund: %s"
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr "'deactivate_port()': überspringen, 'ofc_port' ist nicht vorhanden."
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr "'delete_ofc_port()' fehlgeschlagen. Grund: %s"
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr "Aufruf von 'NECPluginV2.create_network()', network=%s ."
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr "Aufruf von 'NECPluginV2.update_network()', id=%(id)s network=%(network)s ."
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr "Aufruf von 'NECPluginV2.delete_network()', id=%s ."
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr "'delete_network()' fehlgeschlagen. Grund: %s"
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr "Aufruf von 'NECPluginV2.create_port()', port=%s ."
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr "Aufruf von 'NECPluginV2.update_port()', id=%(id)s port=%(port)s ."
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr "Aufruf von 'NECPluginV2.delete_port()', id=%s ."
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
@@ -10313,26 +10365,26 @@ msgstr ""
 "Aufruf von 'NECPluginV2RPCCallbacks.get_port_from_device()', "
 "device=%(device)s => %(ret)s."
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr "Aufruf von 'NECPluginV2RPCCallbacks.update_ports()', kwargs=%s ."
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10340,55 +10392,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10531,41 +10583,45 @@ msgid "Host to connect to"
 msgstr "Host, zu dem eine Verbindung hergestellt werden soll"
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr "Port, zu dem eine Verbindung hergestellt werden soll"
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr "Zu verwendender Treiber"
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr "Paketfilter aktivieren"
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr "SSL zum Herstellen einer Verbindung verwenden"
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr "Schlüsseldatei"
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr "Zertifikatsdatei"
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10603,12 +10659,12 @@ msgstr "PortInfo %(id)s konnte nicht gefunden werden"
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10633,46 +10689,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr "Clientanforderung: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr "OFC-Rückgaben [%(status)s:%(data)s]"
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr "Verbindung zu OFC fehlgeschlagen: %s"
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10688,7 +10744,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr "'del_portinfo()': NotFound-Portinfo für port_id: %s"
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr "Aufruf von 'get_port_with_securitygroups()': port_id=%s"
@@ -10897,7 +10953,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10917,8 +10973,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr "Netz %s für Agent nicht verwendet."
@@ -10929,35 +10985,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr "'tunnel_update' erhalten"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr "Keine lokale VLAN-Adresse für net-id=%s verfügbar"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr "Zuweisung von %(vlan_id)s als lokale VLAN-Adresse für net-id=%(net_uuid)s"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10965,7 +11021,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10975,7 +11031,7 @@ msgstr ""
 " keine Brücke für 'physical_network' %(physical_network)s"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10985,7 +11041,7 @@ msgstr ""
 "keine Brücke für 'physical_network' %(physical_network)s"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10995,13 +11051,13 @@ msgstr ""
 "id=%(net_uuid)s nicht möglich"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr "Zurückfordern von vlan = %(vlan_id)s von net-id = %(net_uuid)s"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -11011,7 +11067,7 @@ msgstr ""
 "id=%(net_uuid)s nicht möglich"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr "'port_unbound()' 'net_uuid' %s nicht in 'local_vlan_map'"
@@ -11022,7 +11078,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -11033,13 +11089,13 @@ msgstr ""
 " nicht unterstützt. Agent beendet!"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr "Zuordnung von physischem Netz %(physical_network)s zu Brücke %(bridge)s"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -11049,30 +11105,30 @@ msgstr ""
 "vorhanden. Agent beendet!"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr "Kein VIF-Port für Port %s für Agent definiert."
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -11092,7 +11148,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -11100,7 +11156,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -11108,7 +11164,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr "Tunnel-IP %(local_ip)s kann nicht synchronisiert werden: %(e)s"
@@ -11119,7 +11175,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr "Agententunnel nicht synchron mit Plug-in!"
 
@@ -11166,19 +11222,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr "Analysieren von 'bridge_mappings' fehlgeschlagen: %s."
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11453,56 +11509,56 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 "Unverhältnismäßiger Tunnel-ID-Bereich %(tun_min)s:%(tun_max)s wird "
 "übersprungen"
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr "Reservieren von Tunnel %s aus Pool"
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr "Reservieren eines bestimmten Tunnels %s aus Pool"
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr "Reservieren eines bestimmten Tunnels %s außerhalb des Pools"
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr "Freigabe von Tunnel %s außerhalb des Pools"
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr "Freigabe von Tunnel %s an Pool"
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr "'tunnel_id' %s nicht gefunden"
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11531,126 +11587,126 @@ msgstr "Tunnel-ID-Bereiche: %s"
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11904,12 +11960,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr "get_ofp_rest_api: %s"
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr "Ungültige Konfiguration. 'ryu.ini' überprüfen"
 
@@ -12308,23 +12364,23 @@ msgstr "[%(rid)d] Fehlerhafte Umleitungsposition erhalten: '%(url)s'"
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
@@ -12332,7 +12388,7 @@ msgstr ""
 "Anzahl an Sekunden, für die eine Erstellungs-ID gültig sein sollte "
 "(Standard -1 bedeutet kein Zeitlimit)"
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -12341,100 +12397,107 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
@@ -12442,39 +12505,44 @@ msgstr ""
 "Name der Schnittstelle auf einem Transportknoten des L2-Gateways, der "
 "standardmäßig beim Einrichten einer Netzverbindung verwendet werden soll"
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12719,28 +12787,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12950,80 +13018,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -13049,76 +13117,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -13244,26 +13312,26 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 "Logischer Port %(lport_uuid)s auf logischem Router %(lrouter_uuid)s wurde"
 " erstellt"
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 "Logischer Port %(lport_uuid)s auf logischem Router %(lrouter_uuid)s wurde"
 " aktualisiert"
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
@@ -13272,34 +13340,34 @@ msgstr ""
 "Port %(lport_uuid)s des logischen Routers auf logischem Router "
 "%(lrouter_uuid)s löschen"
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr "Ungültige Schlüssel für NAT-Übereinstimmung: %s"
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr "NAT-Regel wird erstellt: %s"
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr "Router-Port %(lport_id)s auf Router %(lrouter_id)s nicht gefunden"
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
@@ -13308,81 +13376,81 @@ msgstr ""
 "Ausnahme beim Aktualisieren der IP-Adressen auf einem logischen Router-"
 "Port: %s"
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr "Sicherheitsprofil erstellt: %s"
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr "Sicherheitsprofil aktualisiert: %s"
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr "Logischer Switch %s erstellt"
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr "Netz nicht gefunden. Fehler: %s"
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr "get_port() %(network)s %(port)s"
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr "Port oder Netz nicht gefunden. Fehler: %s"
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr "Port nicht gefunden. Fehler: %s"
@@ -13397,103 +13465,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr "Der Standardservice des L2-Gateways kann nicht verarbeitet werden: %s"
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13501,8 +13569,8 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
@@ -13511,7 +13579,7 @@ msgstr ""
 "Ausnahme wird ignoriert, da dies bedeutet, dass der Peer für Port '%s' "
 "bereits gelöscht wurde."
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
@@ -13520,14 +13588,14 @@ msgstr ""
 "Die Erstellung von Routerschnittstellenports in externen Netzen wie %s "
 "ist nicht zulässig"
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
@@ -13536,78 +13604,78 @@ msgstr ""
 "Das Feld 'device_id' muss ausgefüllt sein, damit ein externer Gateway-"
 "Port für Netz %s erstellt werden kann"
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr "%s erforderlich"
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr "Segmentations-ID kann bei einfachem Netztyp nicht angegeben werden"
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr "Segmentations-ID muss bei VLAN-Netztyp angegeben werden"
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr "%(net_type_param)s %(net_type_value)s nicht unterstützt"
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr "Kein Switch hat verfügbare Ports (%d geprüft)"
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr "Maximale Anzahl an logischen Ports für logisches Netz %s erreicht"
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
@@ -13616,133 +13684,133 @@ msgstr ""
 "Netze, für die 'admin_state_up=False' gilt, werden von diesem Plug-in "
 "noch nicht unterstützt. Einstellungen für Netz %s werden ignoriert"
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr "'delete_network' für Nutzer abgeschlossen: %s"
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr "Netze mit 'admin_state_up=False' werden nicht unterstützt."
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr "Netz '%s' ist kein gültiges externes Netz"
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
@@ -13751,108 +13819,108 @@ msgstr ""
 "'Add_router_interface' für Teilnetz: %(subnet_id)s und Router: "
 "%(router_id)s abgeschlossen"
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr "Port '%s' ist keinen dynamischen IP-Adressen zugeordnet"
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13860,12 +13928,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -14020,11 +14088,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -14379,156 +14447,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -15183,40 +15251,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
-msgstr "Fehler beim Aktualisieren der Statistiken"
+#, python-format
+msgid "Error updating statistics on pool %s"
+msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr "Abrufen von bereiten Einheiten nicht möglich"
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr "Einheit für Pool kann nicht gelöscht werden: %s"
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -15234,29 +15303,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr "Zu verbindender Port %s kann nicht gefunden werden."
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15835,35 +15905,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15947,146 +16017,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -16117,6 +16188,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -16189,7 +16265,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -16399,17 +16475,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17734,20 +17810,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr "Angabe von einer oder mehreren Aktionen erforderlich"
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17769,3 +17831,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr "Ursprüngliche Ausnahme wird gelöscht: %s"
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr "Fehler beim Aktualisieren der Statistiken"
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 7dbc6b5dc672b7d7f0e3b161ae08b14944c9bb78..46663e54ef87a0a5d164c6c603ad7c0deb12f9d8 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2014-03-09 12:33+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Greek "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16074,20 +16150,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16109,3 +16171,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index d07dae8b44b86e84cfacbc532ac9f6b91c4da35d..6b821b2723db6c6925969246536be8b624e2664d 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: English (Australia) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index e99033b7087f76f81729f5f3547f98278b603d53..74c8e0426023b4fe6da6ff4acbab1c045a1da7cb 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: English (United Kingdom) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index a8bcea98a5cfc8ed1691995a25077aad027a2368..6ee0c7a4ea7eb67b6e4e0717c0b12c38e8c25e3e 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: English (United States) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index da43ce878631aa53e2cd76d2d392c694acc36376..5678e95fd2ea48088187b87266c48175901f635b 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-05-13 06:01+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Spanish "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 4becfe44fc8535097e19f57d43603e7b12df8c13..c75860ef711f8c11664f222d725feac0636e2bf9 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-08-29 05:16+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Spanish (Mexico) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17028,20 +17104,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17063,3 +17125,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 1b9ad9a63ad07fceeb4a3dcbc023d538f9400a2c..455435980a767f8e36a08312a781590b68b8966e 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-11-15 00:14+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Basque "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16572,20 +16648,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16607,3 +16669,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index d023ff5611a7ac8b02e4d0dccf888d6fea2f7497..e7a3d48b298eecf7f705e03b221b0593993012c9 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-11-15 02:27+0000\n"
 "Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
 "Language-Team: Basque (Spain) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16572,20 +16648,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16607,3 +16669,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index d0481dae268bf3c1324712a92db47f5c9f37a47b..4727d61a6373e4d1373a8973f4242bd8185ee1af 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-11-15 02:28+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Persian "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16572,20 +16648,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16607,3 +16669,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index a6ea768fc04e60eb867096b57d789e22d7975d86..28977dce13ed8c3deff979147d2af560a087ca92 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Finnish (Finland) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 47d58f785859dfa4c509e7059a525ba77ec8a834..3f21f7f252c9cbdd64e28f698a36eca9a66394a5 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-09-28 05:40+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Filipino "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16671,20 +16747,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16706,3 +16768,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 8a2e34619e47474927c0e41ffc542099d6d4ec67..24e7a2d8a17dc74a1e347b4ce7de233d91cc3c76 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-05-13 06:01+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: French "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 7655d5ed07e7d8760dfdc59eb71444fd667d1da5..2f30809cc3ef9133dd725afae15d88541b9cb744 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-10-28 23:23+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Galician "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16596,20 +16672,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16631,3 +16693,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 93fb21372a6a0e4be3759a61e5f1a0dc0cad0a0b..fe66e2d0cd71c924133deedaa7124a78f18a182a 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2014-01-17 14:28+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Hebrew "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16371,20 +16447,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16406,3 +16468,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 247893c5e3cadc5480f822c496d42a98681647ce..c95bd61dae87d1bd31aefad362a1fc7469d68462 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2014-01-21 01:25+0000\n"
 "Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
 "Language-Team: Hebrew (Israel) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16371,20 +16447,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16406,3 +16468,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 45b1578fef12b6dfdef72d2f860f30ad88b1946c..116ceb2865fab430d8e652558877d4ad9ed059b7 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-08-27 04:58+0000\n"
 "Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
 "Language-Team: Hindi "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17046,20 +17122,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17081,3 +17143,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 45ce8c0e729c5ed78219076ad6b365fd858f28f7..f276de7093625f2c7fd91146ff8ddf3a89cb80dd 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Croatian "
@@ -452,7 +452,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -521,7 +521,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -529,20 +529,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -612,115 +612,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -746,7 +751,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -761,94 +766,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -949,7 +965,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1368,7 +1384,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1421,7 +1437,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1607,7 +1639,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2647,68 +2678,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2783,7 +2821,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2819,7 +2857,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2878,12 +2916,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2990,11 +3028,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3026,7 +3064,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3763,21 +3801,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5075,7 +5103,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5210,7 +5238,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5229,45 +5257,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5600,192 +5628,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6546,49 +6574,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6628,7 +6656,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6677,142 +6705,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6883,12 +6929,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6901,12 +6948,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7333,7 +7385,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7658,7 +7710,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7670,12 +7722,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7684,7 +7736,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7709,15 +7761,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7727,8 +7779,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7736,8 +7788,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7745,8 +7797,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7754,7 +7806,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7828,8 +7880,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7837,8 +7889,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7846,8 +7898,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7855,7 +7907,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8304,9 +8356,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8693,16 +8745,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8948,64 +9000,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9049,7 +9101,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9057,45 +9109,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9348,7 +9400,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9858,177 +9910,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10036,55 +10088,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10225,41 +10277,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10297,12 +10353,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10327,46 +10383,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10382,7 +10438,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10589,7 +10645,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10609,8 +10665,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10621,35 +10677,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10657,7 +10713,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10665,7 +10721,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10673,7 +10729,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10681,13 +10737,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10695,7 +10751,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10706,7 +10762,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10714,13 +10770,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10728,30 +10784,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10771,7 +10827,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10779,7 +10835,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10787,7 +10843,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10798,7 +10854,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10845,19 +10901,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11132,54 +11188,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11208,126 +11264,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11581,12 +11637,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11963,29 +12019,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11994,138 +12050,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12364,28 +12432,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12573,80 +12641,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12672,76 +12740,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12859,137 +12927,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13004,103 +13072,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13108,348 +13176,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13457,12 +13525,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13617,11 +13685,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13976,156 +14044,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14780,40 +14848,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14831,29 +14900,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15430,35 +15500,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15542,146 +15612,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15712,6 +15783,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15784,7 +15860,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15994,17 +16070,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17329,20 +17405,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17364,3 +17426,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index bd8d66864760a2263d10e9b3302425741cf4dbf1..ab719d8cd4ed85a367f35f605e48ec9a77016490 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Hungarian "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 22811f754f5bc6caa5de16e0cd8116da3e736a95..65004c394a0dd6477185e3335380ced328cbc25d 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Indonesian "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 3a0ae6db56dfe1e1ae292634a353debe4484ade3..1b644ea22e675013532685a71e7eb4d1a0627c4c 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-12-16 02:36+0000\n"
 "Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
 "Language-Team: Icelandic (Iceland) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16449,20 +16525,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16484,3 +16546,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index d22b1f4d5006469f3f0b2300fb4bc0c9b2dcc66b..c1a02156720670a3dba143f1ea28653b260cdc04 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-05-16 09:23+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Italian "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index c85eaa098f3d328c974d1bd9f1e544d5bad26b6f..eeda1c452662dfb5c7a1fb15e8efe72179028bab 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Italian (Italy) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 7e787aa3ff602c78c685f63a7f1d702d246b8b4d..804e96df3d4468e06d49cef6d81e4d6e664e6ff1 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-30 10:28+0000\n"
 "Last-Translator: Tomoyuki KATO <tomo@dream.daynight.jp>\n"
 "Language-Team: Japanese "
@@ -452,7 +452,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -521,7 +521,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -529,20 +529,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -612,115 +612,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -746,7 +751,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -761,94 +766,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -949,7 +965,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1368,7 +1384,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1421,7 +1437,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1607,7 +1639,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2647,68 +2678,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2783,7 +2821,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2819,7 +2857,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2878,12 +2916,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2990,11 +3028,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3026,7 +3064,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3763,21 +3801,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5075,7 +5103,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5210,7 +5238,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5229,45 +5257,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5600,192 +5628,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6546,49 +6574,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6628,7 +6656,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6677,142 +6705,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6883,12 +6929,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6901,12 +6948,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7333,7 +7385,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7658,7 +7710,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7670,12 +7722,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7684,7 +7736,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7709,15 +7761,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7727,8 +7779,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7736,8 +7788,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7745,8 +7797,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7754,7 +7806,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7828,8 +7880,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7837,8 +7889,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7846,8 +7898,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7855,7 +7907,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8304,9 +8356,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8693,16 +8745,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8948,64 +9000,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9049,7 +9101,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9057,45 +9109,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9348,7 +9400,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9858,177 +9910,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10036,55 +10088,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10225,41 +10277,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10297,12 +10353,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10327,46 +10383,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10382,7 +10438,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10589,7 +10645,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10609,8 +10665,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10621,35 +10677,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10657,7 +10713,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10665,7 +10721,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10673,7 +10729,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10681,13 +10737,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10695,7 +10751,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10706,7 +10762,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10714,13 +10770,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10728,30 +10784,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10771,7 +10827,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10779,7 +10835,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10787,7 +10843,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10798,7 +10854,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10845,19 +10901,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11132,54 +11188,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11208,126 +11264,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11581,12 +11637,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11963,29 +12019,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11994,138 +12050,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12364,28 +12432,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12573,80 +12641,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12672,76 +12740,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12859,137 +12927,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13004,103 +13072,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13108,348 +13176,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13457,12 +13525,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13617,11 +13685,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13976,156 +14044,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14780,40 +14848,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14831,29 +14900,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15430,35 +15500,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15542,146 +15612,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15712,6 +15783,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15784,7 +15860,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15994,17 +16070,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17329,20 +17405,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17364,3 +17426,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index faccc291f3429ba9bcfb18ce7bf871152128589e..afe4670117bc8df36c57b4b7d4cda7f571fd38e3 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-04-19 14:53+0000\n"
 "Last-Translator: Nika Chkhikvishvili <frrrredo@gmail.com>\n"
 "Language-Team: ka_GE <LL@li.org>\n"
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr "L3 აგენტი ჩაირთულია"
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr "პროვაიდერის წესი განახლებულია"
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr "ფაირვოლის წესების განახლება"
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9858,177 +9910,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10036,55 +10088,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10225,41 +10277,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10297,12 +10353,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10327,46 +10383,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10382,7 +10438,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10589,7 +10645,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10609,8 +10665,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10621,35 +10677,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10657,7 +10713,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10665,7 +10721,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10673,7 +10729,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10681,13 +10737,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10695,7 +10751,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10706,7 +10762,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10714,13 +10770,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10728,30 +10784,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10771,7 +10827,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10779,7 +10835,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10787,7 +10843,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10798,7 +10854,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10845,19 +10901,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11132,54 +11188,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11208,126 +11264,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11581,12 +11637,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11963,29 +12019,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11994,138 +12050,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12364,28 +12432,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12573,80 +12641,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12672,76 +12740,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12859,137 +12927,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13004,103 +13072,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13108,348 +13176,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13457,12 +13525,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13617,11 +13685,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13976,156 +14044,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14780,40 +14848,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14831,29 +14900,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15430,35 +15500,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15542,146 +15612,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15712,6 +15783,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15784,7 +15860,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15994,17 +16070,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17329,20 +17405,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17364,3 +17426,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 5f19b7a6f6f8f46a130c18b0d15a9a7dc44ad1a0..45673c2160a87ac83d6e9be3f828754eba2322cc 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-11-15 02:27+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Khmer "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16572,20 +16648,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16607,3 +16669,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 8a857d1c828efcae9f4cb3e51964cb1584c4bfc8..aa60c6a5a82e04f2bcd1aa29a7e0a6f11bfb0f93 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-09-18 00:19+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Kannada "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16683,20 +16759,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16718,3 +16780,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 22711fc8b17789bf37a23c235a8ee5472714a008..bc229d722d11e7a6d13a777352ef4d8f500b9d70 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Korean "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index d81ccb734592063d8cb0d6560f03157ff59bc054..5fbf88ad7048d41397a7fcc53f32e66c0a7eeac3 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-04-28 05:13+0000\n"
 "Last-Translator: ujuc Gang <potopro@gmail.com>\n"
 "Language-Team: ko_KR <LL@li.org>\n"
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index edee7a1db6402d4ff3fac5e783cb62d386bf733e..666ae0ef205bd7a44fcf06dc8466570d17d12307 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-11-17 05:24+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Malayalam (India) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16572,20 +16648,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16607,3 +16669,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index dc977424ccf6215a4307936d0a9c92f5dc97c916..865bcb81fee3fe3f245a0b2efb054ed80d4e4644 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-10-16 22:17+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Marathi (India) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16617,20 +16693,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16652,3 +16714,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index a8e030fd1b4d5e90ae83ae56d8f94ffb0aec92a2..5060be600d00495e794b5ca4bdd533be4f3ce8ce 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Malay "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 54cb9914068e3581ca1bd6eccf620d315a90f203..b1cd965f34a0695e6eebbf1df155d131378fa02e 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Norwegian Bokmål "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 61171faae5199b8fb664af4a178fb756ee781160..c75a2b80b0ca83295968b707bb0e39bb2141bd03 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-09-05 06:03+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Nepali "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16935,20 +17011,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16970,3 +17032,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 9e6acf798bcab58ce0901262f9a9f5ad21be3993..b1aad40b8dbd18bea38094b8e59c2cbb6aafa2f4 100644 (file)
@@ -7,9 +7,9 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: neutron "
-"jenkins.neutron.propose.translation.update.269\n"
+"jenkins.neutron.propose.translation.update.270\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
index 687a8b66b4c20d1ca4f5bb85fa1c8b1a63f03ff5..8507f05ce7d01ec0918dfde7dea6d68258ff94b6 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Dutch (Netherlands) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 332344f9111969a70cd3bd6af5290bb4954c4e2f..bc674bca5aa9fe21ee9f299b5a0469f98f7b0052 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-12-15 04:38+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Panjabi (Punjabi) (India) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16449,20 +16525,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16484,3 +16546,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 2581080058a8c132215356db7f1016bcf359d791..d7ca8babce3aeec2d1ad3976c62faaa7812317ae 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-06-28 06:06+0000\n"
 "Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
 "Language-Team: Polish (Poland) "
@@ -452,7 +452,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -521,7 +521,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -529,20 +529,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -612,115 +612,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -746,7 +751,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -761,94 +766,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -949,7 +965,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1368,7 +1384,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1421,7 +1437,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1607,7 +1639,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2647,68 +2678,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2783,7 +2821,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2819,7 +2857,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2878,12 +2916,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2990,11 +3028,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3026,7 +3064,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3763,21 +3801,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5075,7 +5103,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5210,7 +5238,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5229,45 +5257,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5600,192 +5628,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6546,49 +6574,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6628,7 +6656,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6677,142 +6705,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6883,12 +6929,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6901,12 +6948,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7333,7 +7385,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7658,7 +7710,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7670,12 +7722,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7684,7 +7736,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7709,15 +7761,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7727,8 +7779,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7736,8 +7788,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7745,8 +7797,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7754,7 +7806,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7828,8 +7880,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7837,8 +7889,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7846,8 +7898,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7855,7 +7907,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8304,9 +8356,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8693,16 +8745,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8948,64 +9000,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9049,7 +9101,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9057,45 +9109,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9348,7 +9400,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9858,177 +9910,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10036,55 +10088,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10225,41 +10277,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10297,12 +10353,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10327,46 +10383,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10382,7 +10438,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10589,7 +10645,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10609,8 +10665,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10621,35 +10677,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10657,7 +10713,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10665,7 +10721,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10673,7 +10729,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10681,13 +10737,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10695,7 +10751,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10706,7 +10762,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10714,13 +10770,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10728,30 +10784,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10771,7 +10827,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10779,7 +10835,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10787,7 +10843,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10798,7 +10854,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10845,19 +10901,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11132,54 +11188,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11208,126 +11264,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11581,12 +11637,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11963,29 +12019,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11994,138 +12050,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12364,28 +12432,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12573,80 +12641,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12672,76 +12740,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12859,137 +12927,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13004,103 +13072,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13108,348 +13176,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13457,12 +13525,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13617,11 +13685,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13976,156 +14044,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14780,40 +14848,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14831,29 +14900,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15430,35 +15500,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15542,146 +15612,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15712,6 +15783,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15784,7 +15860,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15994,17 +16070,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17329,20 +17405,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17364,3 +17426,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index caf877d9c402ec68619e2bc5a97cb5f05a37073b..c5fe1542569bee53dbb67dca21670cedc114dc80 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Portuguese "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 4727fcd4e357235bdd019abdb0ec718c15bfab09..28fbf7f8b55f695ef6c0690115358525f71fd8b7 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Portuguese (Brazil) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index d2557bc007760aa08582826d2102e5679f5671ea..6dcada02492f2c8b01fcd4ee531cdf92a7ad44b4 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-06-08 07:51+0000\n"
 "Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
 "Language-Team: Romanian "
@@ -452,7 +452,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -521,7 +521,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -529,20 +529,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -612,115 +612,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -746,7 +751,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -761,94 +766,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -949,7 +965,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1368,7 +1384,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1421,7 +1437,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1607,7 +1639,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2647,68 +2678,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2783,7 +2821,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2819,7 +2857,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2878,12 +2916,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2990,11 +3028,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3026,7 +3064,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3763,21 +3801,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5075,7 +5103,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5210,7 +5238,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5229,45 +5257,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5600,192 +5628,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6546,49 +6574,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6628,7 +6656,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6677,142 +6705,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6883,12 +6929,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6901,12 +6948,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7333,7 +7385,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7658,7 +7710,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7670,12 +7722,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7684,7 +7736,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7709,15 +7761,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7727,8 +7779,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7736,8 +7788,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7745,8 +7797,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7754,7 +7806,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7828,8 +7880,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7837,8 +7889,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7846,8 +7898,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7855,7 +7907,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8304,9 +8356,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8693,16 +8745,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8948,64 +9000,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9049,7 +9101,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9057,45 +9109,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9348,7 +9400,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9858,177 +9910,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10036,55 +10088,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10225,41 +10277,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10297,12 +10353,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10327,46 +10383,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10382,7 +10438,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10589,7 +10645,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10609,8 +10665,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10621,35 +10677,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10657,7 +10713,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10665,7 +10721,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10673,7 +10729,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10681,13 +10737,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10695,7 +10751,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10706,7 +10762,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10714,13 +10770,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10728,30 +10784,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10771,7 +10827,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10779,7 +10835,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10787,7 +10843,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10798,7 +10854,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10845,19 +10901,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11132,54 +11188,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11208,126 +11264,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11581,12 +11637,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11963,29 +12019,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11994,138 +12050,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12364,28 +12432,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12573,80 +12641,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12672,76 +12740,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12859,137 +12927,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13004,103 +13072,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13108,348 +13176,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13457,12 +13525,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13617,11 +13685,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13976,156 +14044,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14780,40 +14848,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14831,29 +14900,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15430,35 +15500,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15542,146 +15612,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15712,6 +15783,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15784,7 +15860,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15994,17 +16070,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17329,20 +17405,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17364,3 +17426,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index f10d66b6dd965a02b6f450aab2a738a8904f1149..8467d275ecf038edc2f23d66fca3ea3b372a43cb 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-05-13 06:01+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Russian "
@@ -452,7 +452,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -521,7 +521,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -529,20 +529,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -612,115 +612,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -746,7 +751,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -761,94 +766,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -949,7 +965,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1368,7 +1384,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1421,7 +1437,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1607,7 +1639,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2647,68 +2678,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2783,7 +2821,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2819,7 +2857,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2878,12 +2916,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2990,11 +3028,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3026,7 +3064,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3763,21 +3801,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5075,7 +5103,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5210,7 +5238,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5229,45 +5257,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5600,192 +5628,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6546,49 +6574,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6628,7 +6656,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6677,142 +6705,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6883,12 +6929,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6901,12 +6948,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7333,7 +7385,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7658,7 +7710,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7670,12 +7722,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7684,7 +7736,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7709,15 +7761,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7727,8 +7779,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7736,8 +7788,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7745,8 +7797,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7754,7 +7806,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7828,8 +7880,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7837,8 +7889,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7846,8 +7898,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7855,7 +7907,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8304,9 +8356,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8693,16 +8745,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8948,64 +9000,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9049,7 +9101,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9057,45 +9109,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9348,7 +9400,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9858,177 +9910,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10036,55 +10088,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10225,41 +10277,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10297,12 +10353,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10327,46 +10383,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10382,7 +10438,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10589,7 +10645,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10609,8 +10665,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10621,35 +10677,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10657,7 +10713,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10665,7 +10721,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10673,7 +10729,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10681,13 +10737,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10695,7 +10751,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10706,7 +10762,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10714,13 +10770,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10728,30 +10784,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10771,7 +10827,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10779,7 +10835,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10787,7 +10843,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10798,7 +10854,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10845,19 +10901,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11132,54 +11188,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11208,126 +11264,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11581,12 +11637,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11963,29 +12019,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11994,138 +12050,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12364,28 +12432,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12573,80 +12641,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12672,76 +12740,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12859,137 +12927,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13004,103 +13072,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13108,348 +13176,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13457,12 +13525,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13617,11 +13685,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13976,156 +14044,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14780,40 +14848,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14831,29 +14900,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15430,35 +15500,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15542,146 +15612,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15712,6 +15783,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15784,7 +15860,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15994,17 +16070,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17329,20 +17405,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17364,3 +17426,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 8e0b1906d788c3988cb5c23d2ca9e762d048ceb6..65e74f86221d973adcb33967c0171288c422f320 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Russian (Russia) "
@@ -452,7 +452,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -521,7 +521,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -529,20 +529,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -612,115 +612,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -746,7 +751,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -761,94 +766,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -949,7 +965,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1368,7 +1384,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1421,7 +1437,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1607,7 +1639,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2647,68 +2678,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2783,7 +2821,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2819,7 +2857,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2878,12 +2916,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2990,11 +3028,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3026,7 +3064,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3763,21 +3801,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5075,7 +5103,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5210,7 +5238,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5229,45 +5257,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5600,192 +5628,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6546,49 +6574,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6628,7 +6656,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6677,142 +6705,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6883,12 +6929,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6901,12 +6948,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7333,7 +7385,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7658,7 +7710,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7670,12 +7722,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7684,7 +7736,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7709,15 +7761,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7727,8 +7779,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7736,8 +7788,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7745,8 +7797,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7754,7 +7806,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7828,8 +7880,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7837,8 +7889,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7846,8 +7898,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7855,7 +7907,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8304,9 +8356,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8693,16 +8745,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8948,64 +9000,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9049,7 +9101,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9057,45 +9109,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9348,7 +9400,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9858,177 +9910,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10036,55 +10088,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10225,41 +10277,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10297,12 +10353,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10327,46 +10383,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10382,7 +10438,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10589,7 +10645,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10609,8 +10665,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10621,35 +10677,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10657,7 +10713,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10665,7 +10721,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10673,7 +10729,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10681,13 +10737,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10695,7 +10751,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10706,7 +10762,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10714,13 +10770,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10728,30 +10784,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10771,7 +10827,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10779,7 +10835,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10787,7 +10843,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10798,7 +10854,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10845,19 +10901,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11132,54 +11188,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11208,126 +11264,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11581,12 +11637,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11963,29 +12019,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11994,138 +12050,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12364,28 +12432,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12573,80 +12641,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12672,76 +12740,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12859,137 +12927,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13004,103 +13072,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13108,348 +13176,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13457,12 +13525,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13617,11 +13685,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13976,156 +14044,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14780,40 +14848,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14831,29 +14900,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15430,35 +15500,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15542,146 +15612,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15712,6 +15783,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15784,7 +15860,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15994,17 +16070,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17329,20 +17405,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17364,3 +17426,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index ff05e73d854c2923e82c885bb3c68c0c5baff11b..91f9fec10fb547c2808af537eb3d40e0cf486c60 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-08-27 04:58+0000\n"
 "Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
 "Language-Team: Slovak "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17046,20 +17122,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17081,3 +17143,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index f56126180780ecb44d5136b50e9662caed2535ae..7a2e6f76a06b764884d3aa5ac7933d83810a957a 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-06-28 06:06+0000\n"
 "Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
 "Language-Team: Slovenian (Slovenia) "
@@ -452,7 +452,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -521,7 +521,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -529,20 +529,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -612,115 +612,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -746,7 +751,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -761,94 +766,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -949,7 +965,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1368,7 +1384,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1421,7 +1437,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1607,7 +1639,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2647,68 +2678,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2783,7 +2821,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2819,7 +2857,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2878,12 +2916,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2990,11 +3028,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3026,7 +3064,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3763,21 +3801,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5075,7 +5103,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5210,7 +5238,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5229,45 +5257,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5600,192 +5628,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6546,49 +6574,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6628,7 +6656,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6677,142 +6705,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6883,12 +6929,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6901,12 +6948,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7333,7 +7385,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7658,7 +7710,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7670,12 +7722,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7684,7 +7736,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7709,15 +7761,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7727,8 +7779,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7736,8 +7788,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7745,8 +7797,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7754,7 +7806,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7828,8 +7880,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7837,8 +7889,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7846,8 +7898,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7855,7 +7907,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8304,9 +8356,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8693,16 +8745,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8948,64 +9000,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9049,7 +9101,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9057,45 +9109,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9348,7 +9400,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9858,177 +9910,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10036,55 +10088,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10225,41 +10277,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10297,12 +10353,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10327,46 +10383,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10382,7 +10438,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10589,7 +10645,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10609,8 +10665,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10621,35 +10677,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10657,7 +10713,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10665,7 +10721,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10673,7 +10729,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10681,13 +10737,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10695,7 +10751,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10706,7 +10762,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10714,13 +10770,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10728,30 +10784,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10771,7 +10827,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10779,7 +10835,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10787,7 +10843,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10798,7 +10854,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10845,19 +10901,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11132,54 +11188,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11208,126 +11264,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11581,12 +11637,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11963,29 +12019,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11994,138 +12050,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12364,28 +12432,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12573,80 +12641,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12672,76 +12740,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12859,137 +12927,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13004,103 +13072,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13108,348 +13176,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13457,12 +13525,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13617,11 +13685,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13976,156 +14044,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14780,40 +14848,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14831,29 +14900,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15430,35 +15500,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15542,146 +15612,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15712,6 +15783,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15784,7 +15860,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15994,17 +16070,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17329,20 +17405,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17364,3 +17426,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 4f942a7b8c9f2517e3879ff458ec7d73ce8d2339..52b10ac11cf49f82c5d43b7b1e9613e60e381139 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2014-03-17 07:58+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Albanian "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16071,20 +16147,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16106,3 +16168,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index b81b4fa04c7ea2049d49bccb5649513d81ffffe1..03d2c32f2a6b6c9fa14690d284e829eb327fdfe4 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2014-03-12 23:47+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Serbian "
@@ -452,7 +452,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -521,7 +521,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -529,20 +529,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -612,115 +612,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -746,7 +751,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -761,94 +766,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -949,7 +965,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1368,7 +1384,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1421,7 +1437,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1607,7 +1639,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2647,68 +2678,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2783,7 +2821,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2819,7 +2857,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2878,12 +2916,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2990,11 +3028,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3026,7 +3064,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3763,21 +3801,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5075,7 +5103,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5210,7 +5238,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5229,45 +5257,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5600,192 +5628,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6546,49 +6574,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6628,7 +6656,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6677,142 +6705,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6883,12 +6929,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6901,12 +6948,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7333,7 +7385,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7658,7 +7710,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7670,12 +7722,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7684,7 +7736,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7709,15 +7761,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7727,8 +7779,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7736,8 +7788,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7745,8 +7797,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7754,7 +7806,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7828,8 +7880,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7837,8 +7889,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7846,8 +7898,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7855,7 +7907,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8304,9 +8356,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8693,16 +8745,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8948,64 +9000,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9049,7 +9101,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9057,45 +9109,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9348,7 +9400,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9858,177 +9910,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10036,55 +10088,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10225,41 +10277,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10297,12 +10353,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10327,46 +10383,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10382,7 +10438,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10589,7 +10645,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10609,8 +10665,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10621,35 +10677,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10657,7 +10713,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10665,7 +10721,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10673,7 +10729,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10681,13 +10737,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10695,7 +10751,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10706,7 +10762,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10714,13 +10770,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10728,30 +10784,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10771,7 +10827,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10779,7 +10835,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10787,7 +10843,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10798,7 +10854,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10845,19 +10901,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11132,54 +11188,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11208,126 +11264,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11581,12 +11637,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11963,29 +12019,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11994,138 +12050,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12364,28 +12432,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12573,80 +12641,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12672,76 +12740,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12859,137 +12927,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13004,103 +13072,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13108,348 +13176,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13457,12 +13525,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13617,11 +13685,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13976,156 +14044,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14780,40 +14848,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14831,29 +14900,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15430,35 +15500,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15542,146 +15612,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15712,6 +15783,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15784,7 +15860,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15994,17 +16070,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16075,20 +16151,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16110,3 +16172,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 32ed74e89539a955ef7727369bb991460448415b..85293ce2c9b36bddf641b5726703f78583915797 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-11-15 02:27+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Swedish "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16572,20 +16648,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16607,3 +16669,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index d9b9aeca4b7af3cd67b092b515d284031461d3dd..bc1201a19d68042cb0349ee6d89188177740f60e 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Swahili (Kenya) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 78aeb08ccef19cad4ffdda8499d8de1cc55c84e8..cf0bd19ae53f59c5e6bd3fdb1dcb64374ce0863d 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Tagalog "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 583967e171482662f8466c6f9b17db8eddc6997e..0025199dc1567fe6cb01cabbcf0ae248892fbcd3 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-09-28 05:40+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Tagalog (Philippines) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16671,20 +16747,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16706,3 +16768,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 81e709b809e8ab767081c77d962c484c7fb25599..082c10dd7d8a91982afb70f062ebdc9c23544bea 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Turkish (Turkey) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index c1d7d100dc827d5d5d5117443a46a1e927fb2419..01226035c8b1dbda3e5cd9c7a04ee67f65f6ac0c 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Ukrainian "
@@ -452,7 +452,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -521,7 +521,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -529,20 +529,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -612,115 +612,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -746,7 +751,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -761,94 +766,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -949,7 +965,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1368,7 +1384,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1421,7 +1437,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1607,7 +1639,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2647,68 +2678,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2783,7 +2821,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2819,7 +2857,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2878,12 +2916,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2990,11 +3028,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3026,7 +3064,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3763,21 +3801,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5075,7 +5103,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5210,7 +5238,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5229,45 +5257,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5600,192 +5628,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6546,49 +6574,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6628,7 +6656,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6677,142 +6705,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6883,12 +6929,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6901,12 +6948,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7333,7 +7385,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7658,7 +7710,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7670,12 +7722,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7684,7 +7736,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7709,15 +7761,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7727,8 +7779,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7736,8 +7788,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7745,8 +7797,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7754,7 +7806,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7828,8 +7880,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7837,8 +7889,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7846,8 +7898,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7855,7 +7907,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8304,9 +8356,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8693,16 +8745,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8948,64 +9000,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9049,7 +9101,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9057,45 +9109,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9348,7 +9400,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9858,177 +9910,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10036,55 +10088,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10225,41 +10277,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10297,12 +10353,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10327,46 +10383,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10382,7 +10438,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10589,7 +10645,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10609,8 +10665,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10621,35 +10677,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10657,7 +10713,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10665,7 +10721,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10673,7 +10729,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10681,13 +10737,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10695,7 +10751,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10706,7 +10762,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10714,13 +10770,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10728,30 +10784,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10771,7 +10827,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10779,7 +10835,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10787,7 +10843,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10798,7 +10854,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10845,19 +10901,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11132,54 +11188,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11208,126 +11264,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11581,12 +11637,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11963,29 +12019,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11994,138 +12050,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12364,28 +12432,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12573,80 +12641,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12672,76 +12740,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12859,137 +12927,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13004,103 +13072,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13108,348 +13176,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13457,12 +13525,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13617,11 +13685,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13976,156 +14044,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14780,40 +14848,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14831,29 +14900,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15430,35 +15500,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15542,146 +15612,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15712,6 +15783,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15784,7 +15860,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15994,17 +16070,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17329,20 +17405,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17364,3 +17426,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index dc6ffcafaad8be6153b36ce3087e58db9da643cb..acbe89db7190d8e1e6d9279602ecf7f56b5e4a55 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-10-07 01:13+0000\n"
 "Last-Translator: Tom Fifield <tom@openstack.org>\n"
 "Language-Team: Urdu "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -16653,20 +16729,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -16688,3 +16750,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 0c65d6d7b47e56f1718c262c96f136d706e6cc98..895b9022096ffcabf15f2d979429c432a42e5eab 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-05-13 06:01+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Vietnamese (Viet Nam) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 116c95ca65cb8e1afb48c2530fc4bdc27b957856..089c8ab1095dfddf76b1337644a4589519ca68fb 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-05-13 06:01+0000\n"
 "Last-Translator: openstackjenkins <jenkins@openstack.org>\n"
 "Language-Team: Chinese (China) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 7f94b68ee50f0aa04e9d33398dbc0c6284a677e2..607c384c8cd435334b5910eea4a8abbbc8769e95 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Neutron\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-01-28 21:54+0000\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Chinese (Hong Kong) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr ""
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -611,115 +611,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -745,7 +750,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr ""
@@ -760,94 +765,105 @@ msgid "OVS cleanup completed successfully"
 msgstr ""
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -948,7 +964,7 @@ msgstr ""
 msgid "Location to store DHCP server config files"
 msgstr ""
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr ""
 
@@ -1367,7 +1383,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr ""
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr ""
 
@@ -1420,7 +1436,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr ""
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr ""
 
@@ -1606,7 +1638,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr ""
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr ""
@@ -2646,68 +2677,75 @@ msgstr ""
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr ""
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2782,7 +2820,7 @@ msgstr ""
 msgid "Subnet for router interface must have a gateway IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr ""
@@ -2818,7 +2856,7 @@ msgid ""
 "assigning a floating IP"
 msgstr ""
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr ""
 
@@ -2877,12 +2915,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr ""
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -2989,11 +3027,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr ""
 
@@ -3025,7 +3063,7 @@ msgstr ""
 msgid "Available commands"
 msgstr ""
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3762,21 +3800,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr ""
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5074,7 +5102,7 @@ msgstr ""
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5209,7 +5237,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr ""
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr ""
@@ -5228,45 +5256,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr ""
 
@@ -5599,192 +5627,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6545,49 +6573,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6627,7 +6655,7 @@ msgstr ""
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6676,142 +6704,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr ""
 
@@ -6882,12 +6928,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr ""
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6900,12 +6947,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7332,7 +7384,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr ""
@@ -7657,7 +7709,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr ""
 
@@ -7669,12 +7721,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7683,7 +7735,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7708,15 +7760,15 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr ""
@@ -7726,8 +7778,8 @@ msgstr ""
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr ""
@@ -7735,8 +7787,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr ""
@@ -7744,8 +7796,8 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr ""
@@ -7753,7 +7805,7 @@ msgstr ""
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr ""
@@ -7827,8 +7879,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7836,8 +7888,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7845,8 +7897,8 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7854,7 +7906,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr ""
 
@@ -8303,9 +8355,9 @@ msgstr ""
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr ""
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8692,16 +8744,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8947,64 +8999,64 @@ msgstr ""
 msgid "No flat network found on physical network %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9048,7 +9100,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9056,45 +9108,45 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 msgid "VlanTypeDriver initialization complete"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 msgid "physical_network required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 msgid "segmentation_id required for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr ""
@@ -9347,7 +9399,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9857,177 +9909,177 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
 "=> %(ret)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10035,55 +10087,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10224,41 +10276,45 @@ msgid "Host to connect to"
 msgstr ""
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10296,12 +10352,12 @@ msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10326,46 +10382,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10381,7 +10437,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr ""
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr ""
@@ -10588,7 +10644,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10608,8 +10664,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr ""
@@ -10620,35 +10676,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10656,7 +10712,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10664,7 +10720,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10672,7 +10728,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10680,13 +10736,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10694,7 +10750,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr ""
@@ -10705,7 +10761,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10713,13 +10769,13 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10727,30 +10783,30 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10770,7 +10826,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10778,7 +10834,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10786,7 +10842,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr ""
@@ -10797,7 +10853,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr ""
 
@@ -10844,19 +10900,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11131,54 +11187,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11207,126 +11263,126 @@ msgstr ""
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11580,12 +11636,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr ""
 
@@ -11962,29 +12018,29 @@ msgstr ""
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -11993,138 +12049,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12363,28 +12431,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12572,80 +12640,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12671,76 +12739,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12858,137 +12926,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr ""
@@ -13003,103 +13071,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13107,348 +13175,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13456,12 +13524,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13616,11 +13684,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -13975,156 +14043,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14779,40 +14847,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
+#, python-format
+msgid "Error updating statistics on pool %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14830,29 +14899,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15429,35 +15499,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15541,146 +15611,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15711,6 +15782,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15783,7 +15859,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -15993,17 +16069,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17328,20 +17404,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr ""
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17363,3 +17425,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr ""
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr ""
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+
index 5f08ab4d611f808bb011902641f5374f444833d5..b41fd4f10ccba939a23d4c2277c85f921f064232 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version:  Quantum\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2014-03-21 06:27+0000\n"
+"POT-Creation-Date: 2014-03-22 06:27+0000\n"
 "PO-Revision-Date: 2013-05-22 03:25+0000\n"
 "Last-Translator: daisy.ycguo <daisy.ycguo@gmail.com>\n"
 "Language-Team: Chinese (Taiwan) "
@@ -451,7 +451,7 @@ msgid "Number of threads to use during sync process."
 msgstr ""
 
 #: neutron/agent/dhcp_agent.py:65 neutron/agent/l3_agent.py:191
-#: neutron/agent/metadata/namespace_proxy.py:159
+#: neutron/agent/metadata/namespace_proxy.py:166
 msgid "Location of Metadata Proxy UNIX domain socket"
 msgstr "meta 資料 Proxy UNIX 網域 Socket 的位置"
 
@@ -520,7 +520,7 @@ msgid ""
 "port %(port_id)s, for router %(router_id)s will be considered"
 msgstr "在 meta 資料存取網路上找到 %(port_num)d 個路由器埠。將僅考量路由器 %(router_id)s 的埠 %(port_id)s"
 
-#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:922
+#: neutron/agent/dhcp_agent.py:568 neutron/agent/l3_agent.py:941
 #: neutron/agent/metadata/agent.py:305
 #: neutron/services/metering/agents/metering_agent.py:272
 msgid ""
@@ -528,20 +528,20 @@ msgid ""
 " will be disabled."
 msgstr ""
 
-#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:927
+#: neutron/agent/dhcp_agent.py:574 neutron/agent/l3_agent.py:946
 #: neutron/agent/metadata/agent.py:310
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:108
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:841
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:256
 #: neutron/plugins/nec/agent/nec_neutron_agent.py:179
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:298
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:246
 #: neutron/services/loadbalancer/agent/agent_manager.py:121
 #: neutron/services/metering/agents/metering_agent.py:277
 msgid "Failed reporting state!"
 msgstr "無法報告狀態!"
 
-#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:932
+#: neutron/agent/dhcp_agent.py:582 neutron/agent/l3_agent.py:951
 #: neutron/services/metering/agents/metering_agent.py:280
 #, python-format
 msgid "agent_updated by server side %s!"
@@ -612,115 +612,120 @@ msgstr ""
 msgid "Failed trying to delete namespace: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:336
+#: neutron/agent/l3_agent.py:337
 msgid ""
 "The 'gateway_external_network_id' option must be configured for this "
 "agent as Neutron has more than one external network."
 msgstr ""
 
-#: neutron/agent/l3_agent.py:360
+#: neutron/agent/l3_agent.py:361
 #, python-format
 msgid "Info for router %s were not found. Skipping router removal"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:409
+#: neutron/agent/l3_agent.py:410
 #: neutron/services/firewall/agents/varmour/varmour_router.py:100
 #, python-format
 msgid "Router port %s has no IP address"
 msgstr "路由器埠 %s 沒有 IP 位址"
 
-#: neutron/agent/l3_agent.py:411 neutron/db/l3_db.py:845
+#: neutron/agent/l3_agent.py:412 neutron/db/l3_db.py:845
 #: neutron/services/firewall/agents/varmour/varmour_router.py:103
 #, python-format
 msgid "Ignoring multiple IPs on router port %s"
 msgstr "正在忽略路由器埠 %s 上的多個 IP"
 
-#: neutron/agent/l3_agent.py:562
+#: neutron/agent/l3_agent.py:451
+#, python-format
+msgid "Deleting stale internal router device: %s"
+msgstr ""
+
+#: neutron/agent/l3_agent.py:581
 #, python-format
 msgid "Unable to configure IP address for floating IP: %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:592
+#: neutron/agent/l3_agent.py:611
 #, python-format
 msgid "Failed sending gratuitous ARP: %s"
 msgstr "傳送無償 ARP 時失敗:%s"
 
-#: neutron/agent/l3_agent.py:706
+#: neutron/agent/l3_agent.py:725
 #, python-format
 msgid "Got router deleted notification for %s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:711
+#: neutron/agent/l3_agent.py:730
 #, python-format
 msgid "Got routers updated notification :%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:719
+#: neutron/agent/l3_agent.py:738
 #, python-format
 msgid "Got router removed from agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:723
+#: neutron/agent/l3_agent.py:742
 #, python-format
 msgid "Got router added to agent :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:730
+#: neutron/agent/l3_agent.py:749
 #, python-format
 msgid "The external network bridge '%s' does not exist"
 msgstr "外部網路橋接器 '%s' 不存在"
 
-#: neutron/agent/l3_agent.py:782
+#: neutron/agent/l3_agent.py:801
 #, python-format
 msgid "Starting RPC loop for %d updated routers"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:791
+#: neutron/agent/l3_agent.py:810
 msgid "RPC loop successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:793 neutron/agent/l3_agent.py:831
+#: neutron/agent/l3_agent.py:812 neutron/agent/l3_agent.py:850
 #: neutron/services/metering/agents/metering_agent.py:58
 msgid "Failed synchronizing routers"
 msgstr "同步路由器時失敗"
 
-#: neutron/agent/l3_agent.py:811
+#: neutron/agent/l3_agent.py:830
 #, python-format
 msgid "Starting _sync_routers_task - fullsync:%s"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:822
+#: neutron/agent/l3_agent.py:841
 #, python-format
 msgid "Processing :%r"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:825
+#: neutron/agent/l3_agent.py:844
 msgid "_sync_routers_task successfully completed"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:827
+#: neutron/agent/l3_agent.py:846
 msgid "Failed synchronizing routers due to RPC error"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:840
+#: neutron/agent/l3_agent.py:859
 msgid "L3 agent started"
 msgstr "已啟動 L3 代理程式"
 
-#: neutron/agent/l3_agent.py:855
+#: neutron/agent/l3_agent.py:874
 #, python-format
 msgid "Added route entry is '%s'"
 msgstr "所新增的路徑項目是 '%s'"
 
-#: neutron/agent/l3_agent.py:863
+#: neutron/agent/l3_agent.py:882
 #, python-format
 msgid "Removed route entry is '%s'"
 msgstr "所移除的路徑項目是 '%s'"
 
-#: neutron/agent/l3_agent.py:895
+#: neutron/agent/l3_agent.py:914
 msgid "Report state task started"
 msgstr ""
 
-#: neutron/agent/l3_agent.py:919
+#: neutron/agent/l3_agent.py:938
 msgid "Report state task successfully completed"
 msgstr ""
 
@@ -746,7 +751,7 @@ msgstr ""
 
 #: neutron/agent/ovs_cleanup_util.py:75
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:662
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:283
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:284
 #, python-format
 msgid "Delete %s"
 msgstr "刪除 %s"
@@ -761,94 +766,105 @@ msgid "OVS cleanup completed successfully"
 msgstr "已順利完成 OVS 清理"
 
 #: neutron/agent/securitygroups_rpc.py:32
-msgid "Driver for Security Groups Firewall"
+msgid "Driver for security groups firewall in the L2 agent"
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:36
+msgid ""
+"Controls whether the neutron security group API is enabled in the server."
+" It should be false when using no security groups or using the nova "
+"security group API."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:45
+#: neutron/agent/securitygroups_rpc.py:70
 msgid "Disabled security-group extension."
 msgstr "已停用安全群組延伸。"
 
-#: neutron/agent/securitygroups_rpc.py:52
+#: neutron/agent/securitygroups_rpc.py:72
+msgid "Disabled allowed-address-pairs extension."
+msgstr ""
+
+#: neutron/agent/securitygroups_rpc.py:79
 #, python-format
 msgid "Get security group rules for devices via rpc %r"
 msgstr "透過 RPC %r 來取得裝置的安全群組規則"
 
-#: neutron/agent/securitygroups_rpc.py:69
+#: neutron/agent/securitygroups_rpc.py:96
 msgid ""
 "Security group agent binding currently not set. This should be set by the"
 " end of the init process."
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:80
+#: neutron/agent/securitygroups_rpc.py:107
 #, python-format
 msgid "Security group rule updated on remote: %s"
 msgstr "已在遠端 %s 上更新安全群組規則"
 
-#: neutron/agent/securitygroups_rpc.py:92
+#: neutron/agent/securitygroups_rpc.py:119
 #, python-format
 msgid "Security group member updated on remote: %s"
 msgstr "已在遠端 %s 上更新安全群組成員"
 
-#: neutron/agent/securitygroups_rpc.py:99
-#: neutron/agent/securitygroups_rpc.py:163
+#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:190
 msgid "Provider rule updated"
 msgstr "已更新提供者規則"
 
-#: neutron/agent/securitygroups_rpc.py:112
+#: neutron/agent/securitygroups_rpc.py:139
 #, python-format
 msgid "Init firewall settings (driver=%s)"
 msgstr "起始防火牆設定(驅動程式 = %s)"
 
-#: neutron/agent/securitygroups_rpc.py:126
+#: neutron/agent/securitygroups_rpc.py:153
 #, python-format
 msgid "Preparing filters for devices %s"
 msgstr "正在準備裝置 %s 的過濾器"
 
-#: neutron/agent/securitygroups_rpc.py:134
+#: neutron/agent/securitygroups_rpc.py:161
 #, python-format
 msgid "Security group rule updated %r"
 msgstr "安全群組規則已更新 %r"
 
-#: neutron/agent/securitygroups_rpc.py:141
+#: neutron/agent/securitygroups_rpc.py:168
 #, python-format
 msgid "Security group member updated %r"
 msgstr "安全群組成員已更新 %r"
 
-#: neutron/agent/securitygroups_rpc.py:155
+#: neutron/agent/securitygroups_rpc.py:182
 #, python-format
 msgid ""
 "Adding %s devices to the list of devices for which firewall needs to be "
 "refreshed"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:175
+#: neutron/agent/securitygroups_rpc.py:202
 #, python-format
 msgid "Remove device filter for %r"
 msgstr "移除 %r 的裝置過濾器"
 
-#: neutron/agent/securitygroups_rpc.py:184
+#: neutron/agent/securitygroups_rpc.py:211
 msgid "Refresh firewall rules"
 msgstr "重新整理防火牆規則"
 
-#: neutron/agent/securitygroups_rpc.py:188
+#: neutron/agent/securitygroups_rpc.py:215
 msgid "No ports here to refresh firewall"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:194
+#: neutron/agent/securitygroups_rpc.py:221
 #, python-format
 msgid "Update port filter for %s"
 msgstr "更新 %s 的埠過濾器"
 
-#: neutron/agent/securitygroups_rpc.py:212
+#: neutron/agent/securitygroups_rpc.py:239
 #, python-format
 msgid "Preparing device filters for %d new devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:225
+#: neutron/agent/securitygroups_rpc.py:252
 msgid "Refreshing firewall for all filtered devices"
 msgstr ""
 
-#: neutron/agent/securitygroups_rpc.py:233
+#: neutron/agent/securitygroups_rpc.py:260
 #, python-format
 msgid "Refreshing firewall for %d devices"
 msgstr ""
@@ -949,7 +965,7 @@ msgstr "pidfile %s 已存在。常駐程式已在執行中?"
 msgid "Location to store DHCP server config files"
 msgstr "DHCP 伺服器配置檔的儲存位置"
 
-#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:43
+#: neutron/agent/linux/dhcp.py:48 neutron/plugins/vmware/dhcp_meta/nsx.py:44
 msgid "Domain to use for building the hostnames"
 msgstr "用於建置主機名稱的網域"
 
@@ -1373,7 +1389,7 @@ msgid "TCP Port used by Nova metadata server."
 msgstr "Nova meta 資料伺服器所使用的 TCP 埠。"
 
 #: neutron/agent/metadata/agent.py:81
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:62
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:63
 msgid "Shared secret to sign instance-id request"
 msgstr "用於簽署 instance-id 要求的共用機密"
 
@@ -1426,7 +1442,23 @@ msgstr ""
 msgid "network_id and router_id are None. One must be provided."
 msgstr "network_id 及 router_id 皆為 None。必須提供其中一個。"
 
-#: neutron/agent/metadata/namespace_proxy.py:155
+#: neutron/agent/metadata/namespace_proxy.py:150
+msgid "Network that will have instance metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:153
+msgid "Router that will have connected instances' metadata proxied."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:156
+msgid "Location of pid file of this process."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:159
+msgid "Run as daemon."
+msgstr ""
+
+#: neutron/agent/metadata/namespace_proxy.py:162
 msgid "TCP Port to listen for metadata server requests."
 msgstr "用於接聽 meta 資料伺服器要求的 TCP 埠。"
 
@@ -1612,7 +1644,6 @@ msgid "Nofity agent at %(host)s the message %(method)s"
 msgstr "將訊息通知 %(method)s 傳送給位於 %(host)s 處的代理程式"
 
 #: neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py:58
-#: neutron/services/vpn/service_drivers/__init__.py:78
 #, python-format
 msgid "Notify agent at %(topic)s.%(host)s the message %(method)s"
 msgstr "將訊息通知 %(method)s 傳送給位於 %(topic)s.%(host)s 處的代理程式"
@@ -2653,68 +2684,75 @@ msgstr "剖析 DNS 位址 %s 時發生錯誤"
 msgid "Allocated IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 msgstr "已配置 IP %(ip_address)s (%(network_id)s/%(subnet_id)s/%(port_id)s)"
 
+#: neutron/db/db_base_plugin_v2.py:1431
+#, python-format
+msgid ""
+"Ignoring PortNotFound when deleting port '%s'. The port has already been "
+"deleted."
+msgstr ""
+
 #: neutron/db/dhcp_rpc_base.py:58
 msgid "Unrecognized action"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:76
+#: neutron/db/dhcp_rpc_base.py:75
 #, python-format
 msgid "Port for network %(net_id)s could not be created: %(reason)s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:85
+#: neutron/db/dhcp_rpc_base.py:84
 #, python-format
 msgid "get_active_networks requested from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:92
+#: neutron/db/dhcp_rpc_base.py:91
 #, python-format
 msgid "get_active_networks_info from %s"
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:112
+#: neutron/db/dhcp_rpc_base.py:111
 #, python-format
 msgid "Network %(network_id)s requested from %(host)s"
 msgstr "從 %(host)s 要求的網路 %(network_id)s"
 
-#: neutron/db/dhcp_rpc_base.py:119 neutron/db/dhcp_rpc_base.py:183
+#: neutron/db/dhcp_rpc_base.py:118 neutron/db/dhcp_rpc_base.py:182
 #, python-format
 msgid "Network %s could not be found, it might have been deleted concurrently."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:141
+#: neutron/db/dhcp_rpc_base.py:140
 #, python-format
 msgid "Port %(device_id)s for %(network_id)s requested from %(host)s"
 msgstr "從 %(host)s 要求的 %(network_id)s 埠 %(device_id)s"
 
-#: neutron/db/dhcp_rpc_base.py:175
+#: neutron/db/dhcp_rpc_base.py:174
 #, python-format
 msgid ""
 "DHCP port %(device_id)s on network %(network_id)s does not exist on "
 "%(host)s"
 msgstr "網路 %(network_id)s 上的 DHCP 埠 %(device_id)s 不存在於 %(host)s 上"
 
-#: neutron/db/dhcp_rpc_base.py:215
+#: neutron/db/dhcp_rpc_base.py:214
 #, python-format
 msgid "DHCP port deletion for %(network_id)s request from %(host)s"
 msgstr "%(host)s 提出 %(network_id)s 要求來刪除 DHCP 埠"
 
-#: neutron/db/dhcp_rpc_base.py:228
+#: neutron/db/dhcp_rpc_base.py:227
 #, python-format
 msgid "DHCP port remove fixed_ip for %(subnet_id)s request from %(host)s"
 msgstr "%(host)s 提出 %(subnet_id)s 要求來移除 DHCP 埠 fixed_ip"
 
-#: neutron/db/dhcp_rpc_base.py:252
+#: neutron/db/dhcp_rpc_base.py:251
 #, python-format
 msgid "Updating lease expiration is now deprecated. Issued  from host %s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:263
+#: neutron/db/dhcp_rpc_base.py:262
 #, python-format
 msgid "Create dhcp port %(port)s from %(host)s."
 msgstr ""
 
-#: neutron/db/dhcp_rpc_base.py:280
+#: neutron/db/dhcp_rpc_base.py:279
 #, python-format
 msgid "Update dhcp port %(port)s from %(host)s."
 msgstr ""
@@ -2791,7 +2829,7 @@ msgstr "路由器埠必須正好只有一個固定 IP"
 msgid "Subnet for router interface must have a gateway IP"
 msgstr "路由器介面的子網路必須具有閘道 IP"
 
-#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:197
+#: neutron/db/l3_db.py:470 neutron/plugins/nec/nec_router.py:199
 #, python-format
 msgid "Cannot add floating IP to port on subnet %s which has no gateway_ip"
 msgstr "無法將浮動 IP 新增至子網路 %s 上沒有 gateway_ip 的埠"
@@ -2827,7 +2865,7 @@ msgid ""
 "assigning a floating IP"
 msgstr "埠 %s 具有多個固定 IP。指派浮動 IP 時必須提供特定 IP"
 
-#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1836
+#: neutron/db/l3_db.py:579 neutron/plugins/vmware/plugins/base.py:1837
 msgid "fixed_ip_address cannot be specified without a port_id"
 msgstr "如果未指定 port_id,則無法指定 fixed_ip_address"
 
@@ -2888,12 +2926,12 @@ msgstr ""
 msgid "Resource type '%(resource_type)s' is longer than %(maxlen)d characters"
 msgstr "資源類型 '%(resource_type)s' 的長度超過 %(maxlen)d 個字元"
 
-#: neutron/db/sqlalchemyutils.py:74
+#: neutron/db/sqlalchemyutils.py:75
 #, python-format
 msgid "%s is invalid attribute for sort_key"
 msgstr "對於 sort_key 來說,%s 是無效的屬性"
 
-#: neutron/db/sqlalchemyutils.py:77
+#: neutron/db/sqlalchemyutils.py:78
 #, python-format
 msgid ""
 "The attribute '%(attr)s' is reference to other resource, can't used by "
@@ -3000,11 +3038,11 @@ msgstr ""
 msgid "The %(key)s field can not have negative value. Current value is %(value)d."
 msgstr ""
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:265
+#: neutron/db/loadbalancer/loadbalancer_db.py:275
 msgid "'cookie_name' should be specified for this type of session persistence."
 msgstr "應該給這種類型的階段作業持續性指定 'cookie_name'。"
 
-#: neutron/db/loadbalancer/loadbalancer_db.py:269
+#: neutron/db/loadbalancer/loadbalancer_db.py:279
 msgid "'cookie_name' is not allowed for this type of session persistence"
 msgstr "這種類型的階段作業持續性不接受 'cookie_name'"
 
@@ -3036,7 +3074,7 @@ msgstr ""
 msgid "Available commands"
 msgstr "可用的指令"
 
-#: neutron/db/vpn/vpn_db.py:680
+#: neutron/db/vpn/vpn_db.py:681
 #, python-format
 msgid "vpnservice %s in db is already deleted"
 msgstr ""
@@ -3777,21 +3815,11 @@ msgstr ""
 msgid "Eventlet backdoor listening on %(port)s for process %(pid)d"
 msgstr ""
 
-#: neutron/openstack/common/excutils.py:62
-#, python-format
-msgid "Original exception being dropped: %s"
-msgstr "正在捨棄原始異常狀況:%s"
-
-#: neutron/openstack/common/excutils.py:91
-#, python-format
-msgid "Unexpected exception occurred %d time(s)... retrying."
-msgstr ""
-
-#: neutron/openstack/common/gettextutils.py:262
+#: neutron/openstack/common/gettextutils.py:271
 msgid "Message objects do not support addition."
 msgstr ""
 
-#: neutron/openstack/common/gettextutils.py:271
+#: neutron/openstack/common/gettextutils.py:280
 msgid ""
 "Message objects do not support str() because they may contain non-ascii "
 "characters. Please use unicode() or translate() instead."
@@ -5095,7 +5123,7 @@ msgstr "代理程式事件迴圈發生錯誤"
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:226
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1007
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1328
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1284
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1281
 #: neutron/plugins/ryu/agent/ryu_neutron_agent.py:279
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)!"
@@ -5230,7 +5258,7 @@ msgstr ""
 msgid "Allocated vlan (%d) from the pool"
 msgstr "已從儲存區配置 VLAN (%d)"
 
-#: neutron/plugins/brocade/nos/nosdriver.py:70
+#: neutron/plugins/brocade/nos/nosdriver.py:71
 #, python-format
 msgid "Connect failed to switch: %s"
 msgstr "無法連接交換器:%s"
@@ -5249,45 +5277,45 @@ msgstr ""
 msgid "NETCONF error: %s"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:85
+#: neutron/plugins/cisco/network_plugin.py:91
 msgid "Plugin initialization complete"
 msgstr "已完成外掛程式起始設定"
 
-#: neutron/plugins/cisco/network_plugin.py:113
+#: neutron/plugins/cisco/network_plugin.py:119
 #, python-format
 msgid "'%(model)s' object has no attribute '%(name)s'"
 msgstr ""
 
-#: neutron/plugins/cisco/network_plugin.py:130
+#: neutron/plugins/cisco/network_plugin.py:136
 #: neutron/plugins/cisco/db/network_db_v2.py:38
 msgid "get_all_qoss() called"
 msgstr "已呼叫 get_all_qoss()"
 
-#: neutron/plugins/cisco/network_plugin.py:136
+#: neutron/plugins/cisco/network_plugin.py:142
 msgid "get_qos_details() called"
 msgstr "已呼叫 get_qos_details()"
 
-#: neutron/plugins/cisco/network_plugin.py:141
+#: neutron/plugins/cisco/network_plugin.py:147
 msgid "create_qos() called"
 msgstr "已呼叫 create_qos()"
 
-#: neutron/plugins/cisco/network_plugin.py:147
+#: neutron/plugins/cisco/network_plugin.py:153
 msgid "delete_qos() called"
 msgstr "已呼叫 delete_qos()"
 
-#: neutron/plugins/cisco/network_plugin.py:152
+#: neutron/plugins/cisco/network_plugin.py:158
 msgid "rename_qos() called"
 msgstr "已呼叫 rename_qos()"
 
-#: neutron/plugins/cisco/network_plugin.py:157
+#: neutron/plugins/cisco/network_plugin.py:163
 msgid "get_all_credentials() called"
 msgstr "已呼叫 get_all_credentials()"
 
-#: neutron/plugins/cisco/network_plugin.py:163
+#: neutron/plugins/cisco/network_plugin.py:169
 msgid "get_credential_details() called"
 msgstr "已呼叫 get_credential_details()"
 
-#: neutron/plugins/cisco/network_plugin.py:168
+#: neutron/plugins/cisco/network_plugin.py:174
 msgid "rename_credential() called"
 msgstr "已呼叫 rename_credential()"
 
@@ -5620,192 +5648,192 @@ msgstr ""
 msgid "Some config files were not parsed properly"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:330
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:331
 #, python-format
 msgid "seg_min %(seg_min)s, seg_max %(seg_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:455
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:456
 #, python-format
 msgid "Removing vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:577
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:578
 #, python-format
 msgid "Reserving specific vlan %(vlan)s on physical network %(network)s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:581
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:582
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan)s on physical network %(network)s outside "
 "pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:609
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:610
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:614
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:615
 #, python-format
 msgid "Releasing vlan %(vlan)s on physical network %(network)s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:618
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:619
 #, python-format
 msgid "vlan_id %(vlan)s on physical network %(network)s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:628
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:629
 #, python-format
 msgid "Skipping unreasonable vxlan ID range %(vxlan_min)s - %(vxlan_max)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:666
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:667
 #, python-format
 msgid "Removing vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:697
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:698
 #, python-format
 msgid "Reserving specific vxlan %s from pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:699
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:700
 #, python-format
 msgid "Reserving specific vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:721
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:722
 #, python-format
 msgid "Releasing vxlan %s to pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:725
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:726
 #, python-format
 msgid "Releasing vxlan %s outside pool"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:728
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:729
 #, python-format
 msgid "vxlan_id %s not found"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:836
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:837
 msgid "create_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:858
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:859
 msgid "delete_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:872
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:873
 msgid "update_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:881
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:882
 msgid "get_network_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:906
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:907
 msgid "create_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:917
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:918
 msgid "delete_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:926
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:927
 msgid "update_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:935
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:936
 msgid "get_policy_profile()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:947
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:948
 msgid "Invalid profile type"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:964
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:965
 msgid "_profile_binding_exists()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:972
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:973
 msgid "get_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:982
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:983
 msgid "delete_profile_binding()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:989
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:990
 #, python-format
 msgid ""
 "Profile-Tenant binding missing for profile ID %(profile_id)s and tenant "
 "ID %(tenant_id)s"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1003
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1004
 msgid "_get_profile_bindings()"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1227
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1228
 msgid "Invalid segment range. example range: 500-550"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1240
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1241
 msgid "Invalid multicast ip address range. example range: 224.1.1.1-224.1.1.10"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1247
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1248
 #, python-format
 msgid "%s is not a valid multicast ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1251
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1252
 #, python-format
 msgid "%s is not a valid ip address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1255
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1256
 #, python-format
 msgid ""
 "Invalid multicast IP range '%(min_ip)s-%(max_ip)s': Range should be from "
 "low address to high address"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1268
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1269
 msgid "Arguments segment_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1277
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1278
 msgid "segment_type should either be vlan, overlay, multi-segment or trunk"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1283
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1284
 msgid "Argument physical_network missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1290
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1291
 msgid "Argument sub_type missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1297
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1298
 msgid "Argument segment_range missing for network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1308
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1309
 msgid "Argument multicast_ip_range missing for VXLAN multicast network profile"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1336
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1337
 #, python-format
 msgid "NetworkProfile name %s already exists"
 msgstr ""
 
-#: neutron/plugins/cisco/db/n1kv_db_v2.py:1353
+#: neutron/plugins/cisco/db/n1kv_db_v2.py:1354
 msgid "Segment range overlaps with another profile"
 msgstr ""
 
@@ -6566,49 +6594,49 @@ msgid ""
 "tenant_network_type is vlan"
 msgstr ""
 
-#: neutron/plugins/hyperv/db.py:41
+#: neutron/plugins/hyperv/db.py:42
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:113
-#: neutron/plugins/openvswitch/ovs_db_v2.py:130
+#: neutron/plugins/openvswitch/ovs_db_v2.py:131
 #, python-format
 msgid ""
 "Reserving vlan %(vlan_id)s on physical network %(physical_network)s from "
 "pool"
 msgstr "正在保留儲存區中實體網路 %(physical_network)s 上的 VLAN %(vlan_id)s"
 
-#: neutron/plugins/hyperv/db.py:56
+#: neutron/plugins/hyperv/db.py:57
 #, python-format
 msgid "Reserving flat physical network %(physical_network)s from pool"
 msgstr "正在保留儲存區中的平面實體網路 %(physical_network)s"
 
-#: neutron/plugins/hyperv/db.py:79
+#: neutron/plugins/hyperv/db.py:80
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:136
-#: neutron/plugins/ml2/drivers/type_vlan.py:203
-#: neutron/plugins/openvswitch/ovs_db_v2.py:154
+#: neutron/plugins/ml2/drivers/type_vlan.py:204
+#: neutron/plugins/openvswitch/ovs_db_v2.py:155
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
 "%(physical_network)s from pool"
 msgstr "正在保留儲存區中實體網路 %(physical_network)s 上的特定 VLAN %(vlan_id)s"
 
-#: neutron/plugins/hyperv/db.py:136
+#: neutron/plugins/hyperv/db.py:137
 #, python-format
 msgid "Releasing vlan %(vlan_id)s on physical network %(physical_network)s"
 msgstr "正在釋放實體網路 %(physical_network)s 上的 VLAN %(vlan_id)s"
 
-#: neutron/plugins/hyperv/db.py:141
+#: neutron/plugins/hyperv/db.py:142
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:177
-#: neutron/plugins/openvswitch/ovs_db_v2.py:195
+#: neutron/plugins/openvswitch/ovs_db_v2.py:196
 #, python-format
 msgid "vlan_id %(vlan_id)s on physical network %(physical_network)s not found"
 msgstr "在實體網路 %(physical_network)s 上找不到 vlan_id %(vlan_id)s"
 
-#: neutron/plugins/hyperv/db.py:166 neutron/plugins/hyperv/db.py:179
+#: neutron/plugins/hyperv/db.py:167 neutron/plugins/hyperv/db.py:180
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:64
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:83
-#: neutron/plugins/ml2/drivers/type_vlan.py:127
-#: neutron/plugins/ml2/drivers/type_vlan.py:148
-#: neutron/plugins/openvswitch/ovs_db_v2.py:86
-#: neutron/plugins/openvswitch/ovs_db_v2.py:104
+#: neutron/plugins/ml2/drivers/type_vlan.py:128
+#: neutron/plugins/ml2/drivers/type_vlan.py:149
+#: neutron/plugins/openvswitch/ovs_db_v2.py:87
+#: neutron/plugins/openvswitch/ovs_db_v2.py:105
 #, python-format
 msgid ""
 "Removing vlan %(vlan_id)s on physical network %(physical_network)s from "
@@ -6648,7 +6676,7 @@ msgstr "無效的 tenant_network_type:%s。已終止代理程式!"
 
 #: neutron/plugins/hyperv/hyperv_neutron_plugin.py:203
 #: neutron/plugins/linuxbridge/lb_neutron_plugin.py:307
-#: neutron/plugins/ml2/drivers/type_vlan.py:93
+#: neutron/plugins/ml2/drivers/type_vlan.py:94
 #: neutron/plugins/mlnx/mlnx_plugin.py:179
 #: neutron/plugins/openvswitch/ovs_neutron_plugin.py:358
 #, python-format
@@ -6697,142 +6725,160 @@ msgid ""
 "Ceilometer. Requires Hyper-V / Windows Server 2012 and above"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:141
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:68
+msgid ""
+"Specifies the maximum number of retries to enable Hyper-V's port metrics "
+"collection. The agent will try to enable the feature once every "
+"polling_interval period for at most metrics_max_retries or until it "
+"succeedes."
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:149
 #, python-format
 msgid "Failed reporting state! %s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:175
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:183
 #, python-format
 msgid "Invalid physical network mapping: %s"
 msgstr "無效的實體網路對映:%s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:196
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:204
 #, python-format
 msgid "network_delete received. Deleting network %s"
 msgstr "收到 network_delete。正在刪除網路 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:202
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
 #, python-format
 msgid "Network %s not defined on agent."
 msgstr "代理程式上未定義網路 %s。"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:205
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:213
 msgid "port_delete received"
 msgstr "收到 port_delete"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:210
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:218
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:666
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:170
 msgid "port_update received"
 msgstr "收到 port_update"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:234
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:242
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:130
 #, python-format
 msgid "Provisioning network %s"
 msgstr "正在供應網路 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:247
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:255
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for network "
 "%(net_uuid)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:259
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
 #, python-format
 msgid "Reclaiming local network %s"
 msgstr "正在收回本端網路 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:267
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:275
 #, python-format
 msgid "Binding port %s"
 msgstr "正在連結埠 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:280
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:288
 #, python-format
 msgid "Binding VLAN ID %(segmentation_id)s to switch port %(port_id)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:293
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:115
 #, python-format
 msgid "Unsupported network type %s"
 msgstr "不支援的網路類型 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:301
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:310
 #, python-format
 msgid "Network %s is not avalailable on this agent"
 msgstr "在此代理程式上無法使用網路 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:305
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:314
 #, python-format
 msgid "Unbinding port %s"
 msgstr "正在切斷埠 %s"
 
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:327
+#, python-format
+msgid "Port metrics enabled for port: %s"
+msgstr ""
+
 #: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:331
+#, python-format
+msgid "Port metrics raw enabling for port: %s"
+msgstr ""
+
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:356
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:208
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:321
 #, python-format
 msgid "No port %s defined on agent."
 msgstr "代理程式上未定義埠 %s。"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:336
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:361
 #, python-format
 msgid "Adding port %s"
 msgstr "正在新增連接埠 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:344
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:369
 #, python-format
 msgid "Unable to get port details for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:351
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:376
 #, python-format
 msgid "Port %(device)s updated. Details: %(device_details)s"
 msgstr "已更新埠 %(device)s。詳細資料:%(device_details)s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:371
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:396
 #, python-format
 msgid "Removing port %s"
 msgstr "正在移除埠 %s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:379
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
 #, python-format
 msgid "Removing port failed for device %(device)s: %(e)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:404
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:429
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:981
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:389
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1245
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1191
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
 msgid "Agent out of sync with plugin!"
 msgstr "代理程式與外掛程式不同步!"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:412
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:437
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:993
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1270
 msgid "Agent loop has new devices!"
 msgstr "代理程式迴圈具有新裝置!"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:417
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:444
 #, python-format
 msgid "Error in agent event loop: %s"
 msgstr "代理程式事件迴圈發生錯誤:%s"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:425
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:452
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:412
 #, python-format
 msgid "Loop iteration exceeded interval (%(polling_interval)s vs. %(elapsed)s)"
 msgstr "迴圈反覆運算已超出間隔(%(polling_interval)s 與 %(elapsed)s)"
 
-#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:439
+#: neutron/plugins/hyperv/agent/hyperv_neutron_agent.py:466
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:271
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:1032
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:187
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1367
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1364
 msgid "Agent initialized successfully, now running... "
 msgstr "已順利地起始設定代理程式,現正在執行中..."
 
@@ -6905,12 +6951,13 @@ msgid ""
 msgstr "無法將埠 %(switch_port_name)s 從交換器 %(vswitch_name)s 刪除,發生錯誤 %(ret_val)s"
 
 #: neutron/plugins/hyperv/agent/utils.py:207
-#: neutron/plugins/hyperv/agent/utilsv2.py:122
+#: neutron/plugins/hyperv/agent/utilsv2.py:130
 #, python-format
 msgid "VSwitch not found: %s"
 msgstr "找不到 vSwitch:%s"
 
 #: neutron/plugins/hyperv/agent/utils.py:248
+#: neutron/plugins/hyperv/agent/utils.py:252
 msgid "Metrics collection is not supported on this version of Hyper-V"
 msgstr ""
 
@@ -6923,12 +6970,17 @@ msgstr ""
 msgid "Loading class: %(module_name)s.%(class_name)s"
 msgstr ""
 
-#: neutron/plugins/hyperv/agent/utilsv2.py:145
-#: neutron/plugins/hyperv/agent/utilsv2.py:247
+#: neutron/plugins/hyperv/agent/utilsv2.py:153
+#: neutron/plugins/hyperv/agent/utilsv2.py:300
 #, python-format
 msgid "Port Allocation not found: %s"
 msgstr ""
 
+#: neutron/plugins/hyperv/agent/utilsv2.py:263
+#, python-format
+msgid "Cannot get VM summary data for: %s"
+msgstr ""
+
 #: neutron/plugins/ibm/sdnve_api.py:77
 #, python-format
 msgid "The IP addr of available SDN-VE controllers: %s"
@@ -7355,7 +7407,7 @@ msgid "Controller IPs: %s"
 msgstr ""
 
 #: neutron/plugins/ibm/agent/sdnve_neutron_agent.py:265
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1354
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1351
 #, python-format
 msgid "%s Agent terminated!"
 msgstr "%s 已終止代理程式!"
@@ -7680,7 +7732,7 @@ msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:659
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:161
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:281
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:282
 msgid "network_delete received"
 msgstr "收到 network_delete"
 
@@ -7692,12 +7744,12 @@ msgid "RPC timeout while updating port %s"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:719
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:322
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:323
 msgid "fdb_add received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:741
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:350
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:351
 msgid "fdb_remove received"
 msgstr ""
 
@@ -7706,7 +7758,7 @@ msgid "update chg_ip received"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:788
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:411
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:410
 msgid "fdb_update received"
 msgstr ""
 
@@ -7731,15 +7783,15 @@ msgstr "已新增埠 %s"
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:910
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1076
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1111
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:971
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1009
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:968
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1006
 #, python-format
 msgid "Unable to get port details for %(device)s: %(e)s"
 msgstr "無法取得 %(device)s 的埠詳細資料:%(e)s"
 
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:916
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1083
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:977
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:974
 #, python-format
 msgid "Port %(device)s updated. Details: %(details)s"
 msgstr "已更新埠 %(device)s。詳細資料:%(details)s"
@@ -7749,8 +7801,8 @@ msgstr "已更新埠 %(device)s。詳細資料:%(details)s"
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:375
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1098
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1160
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:996
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1058
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:993
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
 #, python-format
 msgid "Device %s not defined on plugin"
 msgstr "外掛程式上未定義裝置 %s"
@@ -7758,8 +7810,8 @@ msgstr "外掛程式上未定義裝置 %s"
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:955
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1128
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1145
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1026
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1043
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1023
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1040
 #, python-format
 msgid "Attachment %s removed"
 msgstr "已移除連接裝置 %s"
@@ -7767,8 +7819,8 @@ msgstr "已移除連接裝置 %s"
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:962
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1135
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1152
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1033
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1050
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1030
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1047
 #, python-format
 msgid "port_removed failed for %(device)s: %(e)s"
 msgstr "對 %(device)s 執行 port_removed 作業失敗:%(e)s"
@@ -7776,7 +7828,7 @@ msgstr "對 %(device)s 執行 port_removed 作業失敗:%(e)s"
 #: neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py:966
 #: neutron/plugins/mlnx/agent/eswitch_neutron_agent.py:373
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1157
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1055
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1052
 #, python-format
 msgid "Port %s updated."
 msgstr "已更新埠 %s。"
@@ -7850,8 +7902,8 @@ msgid "Enable server RPC compatibility with old agents"
 msgstr ""
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:142
-#: neutron/plugins/ml2/drivers/type_vlan.py:209
-#: neutron/plugins/openvswitch/ovs_db_v2.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:210
+#: neutron/plugins/openvswitch/ovs_db_v2.py:161
 #, python-format
 msgid ""
 "Reserving specific vlan %(vlan_id)s on physical network "
@@ -7859,8 +7911,8 @@ msgid ""
 msgstr "正在保留儲存區外部實體網路 %(physical_network)s 上的特定 VLAN %(vlan_id)s"
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:166
-#: neutron/plugins/ml2/drivers/type_vlan.py:258
-#: neutron/plugins/openvswitch/ovs_db_v2.py:190
+#: neutron/plugins/ml2/drivers/type_vlan.py:259
+#: neutron/plugins/openvswitch/ovs_db_v2.py:191
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s to "
@@ -7868,8 +7920,8 @@ msgid ""
 msgstr "正在將實體網路 %(physical_network)s 上的 VLAN %(vlan_id)s 釋放到儲存區"
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:171
-#: neutron/plugins/ml2/drivers/type_vlan.py:253
-#: neutron/plugins/openvswitch/ovs_db_v2.py:185
+#: neutron/plugins/ml2/drivers/type_vlan.py:254
+#: neutron/plugins/openvswitch/ovs_db_v2.py:186
 #, python-format
 msgid ""
 "Releasing vlan %(vlan_id)s on physical network %(physical_network)s "
@@ -7877,7 +7929,7 @@ msgid ""
 msgstr "正在釋放儲存區外部實體網路 %(physical_network)s 上的 VLAN %(vlan_id)s"
 
 #: neutron/plugins/linuxbridge/db/l2network_db_v2.py:202
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:213
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:214
 msgid "get_port_from_device() called"
 msgstr "已呼叫 get_port_from_device()"
 
@@ -8326,9 +8378,9 @@ msgstr "MidonetPluginV2.get_network 正在結束:qnet = %r"
 msgid "MidonetPluginV2.delete_network called: id=%r"
 msgstr "已呼叫 MidonetPluginV2.delete_network:ID = %r"
 
-#: neutron/plugins/midonet/plugin.py:521
+#: neutron/plugins/midonet/plugin.py:522
 #, python-format
-msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+msgid "Failed to delete neutron db, while Midonet bridge=%r had been deleted"
 msgstr ""
 
 #: neutron/plugins/midonet/plugin.py:527
@@ -8726,16 +8778,16 @@ msgstr ""
 msgid "Committing transaction"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:489
+#: neutron/plugins/ml2/plugin.py:491
 msgid "A concurrent port creation has occurred"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:499 neutron/plugins/ml2/plugin.py:598
+#: neutron/plugins/ml2/plugin.py:500 neutron/plugins/ml2/plugin.py:599
 #, python-format
 msgid "Exception auto-deleting port %s"
 msgstr ""
 
-#: neutron/plugins/ml2/plugin.py:507
+#: neutron/plugins/ml2/plugin.py:508
 #, python-format
 msgid "Exception auto-deleting subnet %s"
 msgstr ""
@@ -8983,64 +9035,64 @@ msgstr "實體網路 %s 沒有對映"
 msgid "No flat network found on physical network %s"
 msgstr "實體網路 %s 沒有對映"
 
-#: neutron/plugins/ml2/drivers/type_gre.py:33
+#: neutron/plugins/ml2/drivers/type_gre.py:34
 msgid ""
 "Comma-separated list of <tun_min>:<tun_max> tuples enumerating ranges of "
 "GRE tunnel IDs that are available for tenant network allocation"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:84
+#: neutron/plugins/ml2/drivers/type_gre.py:85
 #, python-format
 msgid "Reserving specific gre tunnel %s from pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:88
+#: neutron/plugins/ml2/drivers/type_gre.py:89
 #, python-format
 msgid "Reserving specific gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:101
+#: neutron/plugins/ml2/drivers/type_gre.py:102
 #, python-format
 msgid "Allocating gre tunnel id  %(gre_id)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:119
+#: neutron/plugins/ml2/drivers/type_gre.py:120
 #, python-format
 msgid "Releasing gre tunnel %s to pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:124
+#: neutron/plugins/ml2/drivers/type_gre.py:125
 #, python-format
 msgid "Releasing gre tunnel %s outside pool"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:127
+#: neutron/plugins/ml2/drivers/type_gre.py:128
 #, python-format
 msgid "gre_id %s not found"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:137
+#: neutron/plugins/ml2/drivers/type_gre.py:138
 #, python-format
 msgid "Skipping unreasonable gre ID range %(tun_min)s:%(tun_max)s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:155
+#: neutron/plugins/ml2/drivers/type_gre.py:156
 #: neutron/plugins/ml2/drivers/type_vxlan.py:165
-#: neutron/plugins/openvswitch/ovs_db_v2.py:228
+#: neutron/plugins/openvswitch/ovs_db_v2.py:229
 #, python-format
 msgid "Removing tunnel %s from pool"
 msgstr "正在將通道 %s 從儲存區中移除"
 
-#: neutron/plugins/ml2/drivers/type_gre.py:170
+#: neutron/plugins/ml2/drivers/type_gre.py:171
 msgid "get_gre_endpoints() called"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:179
+#: neutron/plugins/ml2/drivers/type_gre.py:180
 #, python-format
 msgid "add_gre_endpoint() called for ip %s"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_gre.py:185
+#: neutron/plugins/ml2/drivers/type_gre.py:186
 #, python-format
 msgid "Gre endpoint with ip %s already exists"
 msgstr ""
@@ -9085,7 +9137,7 @@ msgstr ""
 msgid "Network_type value needed by the ML2 plugin"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:36
+#: neutron/plugins/ml2/drivers/type_vlan.py:37
 msgid ""
 "List of <physical_network>:<vlan_min>:<vlan_max> or <physical_network> "
 "specifying physical_network names usable for VLAN provider and tenant "
@@ -9093,49 +9145,49 @@ msgid ""
 " to tenant networks."
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:90
+#: neutron/plugins/ml2/drivers/type_vlan.py:91
 #, fuzzy
 msgid "Failed to parse network_vlan_ranges. Service terminated!"
 msgstr "無效的 tenant_network_type:%s。已終止服務!"
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:160
+#: neutron/plugins/ml2/drivers/type_vlan.py:161
 #, fuzzy
 msgid "VlanTypeDriver initialization complete"
 msgstr "已完成外掛程式起始設定"
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:165
+#: neutron/plugins/ml2/drivers/type_vlan.py:166
 #, fuzzy
 msgid "physical_network required for VLAN provider network"
 msgstr "指定給 %s 網路的 physical_network"
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:168
+#: neutron/plugins/ml2/drivers/type_vlan.py:169
 #, fuzzy, python-format
 msgid "physical_network '%s' unknown for VLAN provider network"
 msgstr "指定給 %s 網路的 physical_network"
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:174
+#: neutron/plugins/ml2/drivers/type_vlan.py:175
 #, fuzzy
 msgid "segmentation_id required for VLAN provider network"
 msgstr "指定給 %s 網路的 segmentation_id"
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:177
+#: neutron/plugins/ml2/drivers/type_vlan.py:178
 #, fuzzy, python-format
 msgid "segmentation_id out of range (%(min)s through %(max)s)"
 msgstr "'%(data)s' 不在 %(min_value)s 到 %(max_value)s 的範圍內"
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:187
+#: neutron/plugins/ml2/drivers/type_vlan.py:188
 #, python-format
 msgid "%s prohibited for VLAN provider network"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:225
+#: neutron/plugins/ml2/drivers/type_vlan.py:226
 #, fuzzy, python-format
 msgid ""
 "Allocating vlan %(vlan_id)s on physical network %(physical_network)s from"
 " pool"
 msgstr "正在將實體網路 %(physical_network)s 上的 VLAN %(vlan_id)s 從儲存區中移除"
 
-#: neutron/plugins/ml2/drivers/type_vlan.py:263
+#: neutron/plugins/ml2/drivers/type_vlan.py:264
 #, fuzzy, python-format
 msgid "No vlan_id %(vlan_id)s found on physical network %(physical_network)s"
 msgstr "正在釋放實體網路 %(physical_network)s 上的 VLAN %(vlan_id)s"
@@ -9388,7 +9440,7 @@ msgid ""
 "file"
 msgstr ""
 
-#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:73
+#: neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py:74
 msgid "Connect failed to switch"
 msgstr ""
 
@@ -9898,151 +9950,151 @@ msgstr ""
 msgid "Operation Failed: %(err_msg)s"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:43
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:64
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:44
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:65
 #, python-format
 msgid "Removing vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:120
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:121
 #, python-format
 msgid "Reserving vlan %(seg_id)s on physical network %(net)s from pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:139
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:140
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s from "
 "pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:144
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:145
 #, python-format
 msgid ""
 "Reserving specific vlan %(seg_id)s on physical network %(phy_net)s "
 "outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:171
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:172
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s to pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:176
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:177
 #, python-format
 msgid "Releasing vlan %(seg_id)s on physical network %(phy_net)s outside pool"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:182
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:183
 #, python-format
 msgid "vlan_id %(seg_id)s on physical network %(phy_net)s not found"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:240
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:241
 msgid "Get_port_from_device_mac() called"
 msgstr ""
 
-#: neutron/plugins/mlnx/db/mlnx_db_v2.py:248
+#: neutron/plugins/mlnx/db/mlnx_db_v2.py:249
 #, python-format
 msgid "Set_port_status as %s called"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:187
+#: neutron/plugins/nec/nec_plugin.py:188
 #, python-format
 msgid "_cleanup_ofc_tenant: No OFC tenant for %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:190
+#: neutron/plugins/nec/nec_plugin.py:191
 #, python-format
 msgid "delete_ofc_tenant() failed due to %s"
 msgstr "delete_ofc_tenant() 由於 %s 而失敗"
 
-#: neutron/plugins/nec/nec_plugin.py:206
+#: neutron/plugins/nec/nec_plugin.py:207
 msgid "activate_port_if_ready(): skip, port.admin_state_up is False."
 msgstr "activate_port_if_ready():跳過,port.admin_state_up 為 False。"
 
-#: neutron/plugins/nec/nec_plugin.py:210
+#: neutron/plugins/nec/nec_plugin.py:211
 msgid "activate_port_if_ready(): skip, network.admin_state_up is False."
 msgstr "activate_port_if_ready():跳過,port.admin_state_up 為 False。"
 
-#: neutron/plugins/nec/nec_plugin.py:214
+#: neutron/plugins/nec/nec_plugin.py:215
 msgid "activate_port_if_ready(): skip, no portinfo for this port."
 msgstr "activate_port_if_ready():跳過,此埠沒有 PortInfo。"
 
-#: neutron/plugins/nec/nec_plugin.py:218
+#: neutron/plugins/nec/nec_plugin.py:219
 msgid "activate_port_if_ready(): skip, ofc_port already exists."
 msgstr "activate_port_if_ready():跳過,ofc_port 已存在。"
 
-#: neutron/plugins/nec/nec_plugin.py:226
+#: neutron/plugins/nec/nec_plugin.py:227
 #, python-format
 msgid "create_ofc_port() failed due to %s"
 msgstr "create_ofc_port() 由於 %s 而失敗"
 
-#: neutron/plugins/nec/nec_plugin.py:239
+#: neutron/plugins/nec/nec_plugin.py:240
 msgid "deactivate_port(): skip, ofc_port does not exist."
 msgstr "deactivate_port():跳過,ofc_port 不存在。"
 
-#: neutron/plugins/nec/nec_plugin.py:256
+#: neutron/plugins/nec/nec_plugin.py:257
 #, python-format
 msgid "deactivate_port(): OFC port for port=%s is already removed."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:263
+#: neutron/plugins/nec/nec_plugin.py:264
 #, python-format
 msgid "delete_ofc_port() failed due to %s"
 msgstr "delete_ofc_port() 由於 %s 而失敗"
 
-#: neutron/plugins/nec/nec_plugin.py:284
+#: neutron/plugins/nec/nec_plugin.py:285
 #, python-format
 msgid "NECPluginV2.create_network() called, network=%s ."
 msgstr "已呼叫 NECPluginV2.create_network(),網路 = %s。"
 
-#: neutron/plugins/nec/nec_plugin.py:301
+#: neutron/plugins/nec/nec_plugin.py:302
 #, python-format
 msgid "Failed to create network id=%(id)s on OFC: %(exc)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:317
+#: neutron/plugins/nec/nec_plugin.py:318
 #, python-format
 msgid "NECPluginV2.update_network() called, id=%(id)s network=%(network)s ."
 msgstr "已呼叫 NECPluginV2.update_network(),ID = %(id)s 網路 = %(network)s。"
 
-#: neutron/plugins/nec/nec_plugin.py:357
+#: neutron/plugins/nec/nec_plugin.py:358
 #, python-format
 msgid "NECPluginV2.delete_network() called, id=%s ."
 msgstr "已呼叫 NECPluginV2.delete_network(),ID = %s。"
 
-#: neutron/plugins/nec/nec_plugin.py:376
+#: neutron/plugins/nec/nec_plugin.py:377
 #, python-format
 msgid "Failed to delete port(s)=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:387
+#: neutron/plugins/nec/nec_plugin.py:389
 #, python-format
 msgid "delete_network() failed due to %s"
 msgstr "delete_network() 由於 %s 而失敗"
 
-#: neutron/plugins/nec/nec_plugin.py:525
+#: neutron/plugins/nec/nec_plugin.py:526
 #, python-format
 msgid "NECPluginV2.create_port() called, port=%s ."
 msgstr "已呼叫 NECPluginV2.create_port(),埠 = %s。"
 
-#: neutron/plugins/nec/nec_plugin.py:589
+#: neutron/plugins/nec/nec_plugin.py:590
 #, python-format
 msgid "NECPluginV2.update_port() called, id=%(id)s port=%(port)s ."
 msgstr "已呼叫 NECPluginV2.update_port(),ID = %(id)s 埠 = %(port)s。"
 
-#: neutron/plugins/nec/nec_plugin.py:621
+#: neutron/plugins/nec/nec_plugin.py:622
 #, python-format
 msgid "NECPluginV2.delete_port() called, id=%s ."
 msgstr "已呼叫 NECPluginV2.delete_port(),ID = %s。"
 
-#: neutron/plugins/nec/nec_plugin.py:631
+#: neutron/plugins/nec/nec_plugin.py:632
 #, python-format
 msgid "Failed to delete port=%s from OFC."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:688
+#: neutron/plugins/nec/nec_plugin.py:689
 #, python-format
 msgid ""
 "NECPluginV2RPCCallbacks.get_port_from_device() called, device=%(device)s "
@@ -10051,26 +10103,26 @@ msgstr ""
 "已呼叫 NECPluginV2RPCCallbacks.get_port_from_device(),裝置 = %(device)s => "
 "%(ret)s。"
 
-#: neutron/plugins/nec/nec_plugin.py:719
+#: neutron/plugins/nec/nec_plugin.py:720
 #, python-format
 msgid "NECPluginV2RPCCallbacks.update_ports() called, kwargs=%s ."
 msgstr "已呼叫 NECPluginV2RPCCallbacks.update_ports(),kwargs = %s。"
 
-#: neutron/plugins/nec/nec_plugin.py:729
+#: neutron/plugins/nec/nec_plugin.py:730
 #, python-format
 msgid ""
 "update_ports(): ignore unchanged portinfo in port_added message "
 "(port_id=%s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:748
+#: neutron/plugins/nec/nec_plugin.py:749
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message due to portinfo for "
 "port_id=%s was not registered"
 msgstr ""
 
-#: neutron/plugins/nec/nec_plugin.py:753
+#: neutron/plugins/nec/nec_plugin.py:754
 #, python-format
 msgid ""
 "update_ports(): ignore port_removed message received from different host "
@@ -10078,55 +10130,55 @@ msgid ""
 "received_datapath_id=%(received)s)."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:59
+#: neutron/plugins/nec/nec_router.py:60
 #, python-format
 msgid "RouterMixin.create_router() called, router=%s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:84
+#: neutron/plugins/nec/nec_router.py:86
 #, python-format
 msgid "RouterMixin.update_router() called, id=%(id)s, router=%(router)s ."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:102
+#: neutron/plugins/nec/nec_router.py:104
 #, python-format
 msgid "RouterMixin.delete_router() called, id=%s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:121
+#: neutron/plugins/nec/nec_router.py:123
 #, python-format
 msgid ""
 "RouterMixin.add_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:128
+#: neutron/plugins/nec/nec_router.py:130
 #, python-format
 msgid ""
 "RouterMixin.remove_router_interface() called, id=%(id)s, "
 "interface=%(interface)s."
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:311
+#: neutron/plugins/nec/nec_router.py:313
 #, python-format
 msgid ""
 "OFC does not support router with provider=%(provider)s, so removed it "
 "from supported provider (new router driver map=%(driver_map)s)"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:319
+#: neutron/plugins/nec/nec_router.py:321
 #, python-format
 msgid ""
 "default_router_provider %(default)s is supported! Please specify one of "
 "%(supported)s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:333
+#: neutron/plugins/nec/nec_router.py:335
 #, python-format
 msgid "Enabled router drivers: %s"
 msgstr ""
 
-#: neutron/plugins/nec/nec_router.py:336
+#: neutron/plugins/nec/nec_router.py:338
 #, python-format
 msgid ""
 "No router provider is enabled. neutron-server terminated! "
@@ -10267,41 +10319,45 @@ msgid "Host to connect to"
 msgstr "要連接的主機"
 
 #: neutron/plugins/nec/common/config.py:40
+msgid "Base URL of OFC REST API. It is prepended to each API request."
+msgstr ""
+
+#: neutron/plugins/nec/common/config.py:43
 msgid "Port to connect to"
 msgstr "要連接的埠"
 
-#: neutron/plugins/nec/common/config.py:42
+#: neutron/plugins/nec/common/config.py:45
 msgid "Driver to use"
 msgstr "要使用的驅動程式"
 
-#: neutron/plugins/nec/common/config.py:44
+#: neutron/plugins/nec/common/config.py:47
 msgid "Enable packet filter"
 msgstr "啟用封包過濾器"
 
-#: neutron/plugins/nec/common/config.py:46
+#: neutron/plugins/nec/common/config.py:49
 msgid "Use SSL to connect"
 msgstr "使用 SSL 來連接"
 
-#: neutron/plugins/nec/common/config.py:48
+#: neutron/plugins/nec/common/config.py:51
 msgid "Key file"
 msgstr "金鑰檔"
 
-#: neutron/plugins/nec/common/config.py:50
+#: neutron/plugins/nec/common/config.py:53
 msgid "Certificate file"
 msgstr "憑證檔"
 
-#: neutron/plugins/nec/common/config.py:52
+#: neutron/plugins/nec/common/config.py:55
 msgid ""
 "Maximum attempts per OFC API request.NEC plugin retries API request to "
 "OFC when OFC returns ServiceUnavailable (503).The value must be greater "
 "than 0."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:61
+#: neutron/plugins/nec/common/config.py:64
 msgid "Default router provider to use."
 msgstr ""
 
-#: neutron/plugins/nec/common/config.py:64
+#: neutron/plugins/nec/common/config.py:67
 msgid "List of enabled router providers."
 msgstr ""
 
@@ -10339,12 +10395,12 @@ msgstr "找不到 PortInfo %(id)s"
 
 #: neutron/plugins/nec/common/exceptions.py:59
 msgid ""
-"Invalid input for operation: portinfo:datapath_id should be a hex string "
-"with at most 8 bytes"
+"Invalid input for operation: datapath_id should be a hex string with at "
+"most 8 bytes"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:65
-msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+msgid "Invalid input for operation: port_no should be [0:65535]"
 msgstr ""
 
 #: neutron/plugins/nec/common/exceptions.py:70
@@ -10369,46 +10425,46 @@ msgid ""
 "supported only for router provider %(expected_provider)s."
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:69
+#: neutron/plugins/nec/common/ofc_client.py:70
 #, python-format
 msgid "Operation on OFC failed: %(status)s%(msg)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:73
+#: neutron/plugins/nec/common/ofc_client.py:75
 #, python-format
 msgid "Client request: %(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 msgstr "用戶端要求:%(host)s:%(port)s %(method)s %(action)s [%(body)s]"
 
-#: neutron/plugins/nec/common/ofc_client.py:85
+#: neutron/plugins/nec/common/ofc_client.py:87
 #, python-format
 msgid "OFC returns [%(status)s:%(data)s]"
 msgstr "OFC 傳回 [%(status)s:%(data)s]"
 
-#: neutron/plugins/nec/common/ofc_client.py:102
+#: neutron/plugins/nec/common/ofc_client.py:104
 #, python-format
 msgid "OFC returns ServiceUnavailable (retry-after=%s)"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:106
+#: neutron/plugins/nec/common/ofc_client.py:108
 #, python-format
 msgid "Specified resource %s does not exist on OFC "
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:110
+#: neutron/plugins/nec/common/ofc_client.py:112
 #, python-format
 msgid "Operation on OFC failed: status=%(status)s, detail=%(detail)s"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:113
+#: neutron/plugins/nec/common/ofc_client.py:115
 msgid "Operation on OFC failed"
 msgstr ""
 
-#: neutron/plugins/nec/common/ofc_client.py:122
+#: neutron/plugins/nec/common/ofc_client.py:124
 #, python-format
 msgid "Failed to connect OFC : %s"
 msgstr "無法連接 OFC:%s"
 
-#: neutron/plugins/nec/common/ofc_client.py:137
+#: neutron/plugins/nec/common/ofc_client.py:140
 #, python-format
 msgid "Waiting for %s seconds due to OFC Service_Unavailable."
 msgstr ""
@@ -10424,7 +10480,7 @@ msgid "del_portinfo(): NotFound portinfo for port_id: %s"
 msgstr "del_portinfo():port_id 的 portinfo NotFound:%s"
 
 #: neutron/plugins/nec/db/api.py:167
-#: neutron/plugins/openvswitch/ovs_db_v2.py:316
+#: neutron/plugins/openvswitch/ovs_db_v2.py:317
 #, python-format
 msgid "get_port_with_securitygroups() called:port_id=%s"
 msgstr "已呼叫 get_port_with_securitygroups():port_id=%s"
@@ -10631,7 +10687,7 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:141
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:286
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:233
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:234
 msgid "Agent terminated"
 msgstr ""
 
@@ -10651,8 +10707,8 @@ msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:342
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:591
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:289
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:530
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:290
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:528
 #, python-format
 msgid "Network %s not used on agent."
 msgstr "代理程式上未使用網路 %s。"
@@ -10663,35 +10719,35 @@ msgid "port_update received port %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:301
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:302
 msgid "tunnel_update received"
 msgstr "收到 tunnel_update"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:382
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:310
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:311
 msgid "No tunnel_type specified, cannot create tunnels"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:385
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:313
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:314
 #, python-format
 msgid "tunnel_type %s not supported by agent"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:509
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:439
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:438
 #, python-format
 msgid "No local VLAN available for net-id=%s"
 msgstr "net-id = %s 沒有可用的本端 VLAN"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:512
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:442
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:441
 #, python-format
 msgid "Assigning %(vlan_id)s as local vlan for net-id=%(net_uuid)s"
 msgstr "正在將 %(vlan_id)s 指派為 net-id = %(net_uuid)s 的本端 VLAN"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:524
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:468
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:466
 #, python-format
 msgid ""
 "Cannot provision %(network_type)s network for net-id=%(net_uuid)s - "
@@ -10699,7 +10755,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:532
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:487
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:485
 #, python-format
 msgid ""
 "Cannot provision flat network for net-id=%(net_uuid)s - no bridge for "
@@ -10709,7 +10765,7 @@ msgstr ""
 "沒有橋接器"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:542
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:507
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:505
 #, python-format
 msgid ""
 "Cannot provision VLAN network for net-id=%(net_uuid)s - no bridge for "
@@ -10719,7 +10775,7 @@ msgstr ""
 "%(physical_network)s 沒有橋接器"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:551
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:516
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:514
 #, python-format
 msgid ""
 "Cannot provision unknown network type %(network_type)s for net-"
@@ -10727,13 +10783,13 @@ msgid ""
 msgstr "無法將不明的網路類型 %(network_type)s 供應給 net-id=%(net_uuid)s"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:594
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:533
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:531
 #, python-format
 msgid "Reclaiming vlan = %(vlan_id)s from net-id = %(net_uuid)s"
 msgstr "正在從 net-id = %(net_uuid)s 收回 VLAN = %(vlan_id)s"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:633
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:573
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:571
 #, python-format
 msgid ""
 "Cannot reclaim unknown network type %(network_type)s for net-"
@@ -10741,7 +10797,7 @@ msgid ""
 msgstr "無法收回 net-id = %(net_uuid)s 的不明網路類型 %(network_type)s"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:682
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:617
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:615
 #, python-format
 msgid "port_unbound() net_uuid %s not in local_vlan_map"
 msgstr "port_unbound() net_uuid %s 不在 local_vlan_map 中"
@@ -10752,7 +10808,7 @@ msgid "ancillary bridge list: %s."
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:843
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:694
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:692
 msgid ""
 "Failed to create OVS patch port. Cannot have tunneling enabled on this "
 "agent, since this version of OVS does not support tunnels or patch ports."
@@ -10760,13 +10816,13 @@ msgid ""
 msgstr "無法建立 OVS 修補程式埠。無法在此代理程式上啟用通道作業,因為此 OVS 版本不支援通道或修補程式埠。已終止代理程式!"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:927
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:767
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:765
 #, python-format
 msgid "Mapping physical network %(physical_network)s to bridge %(bridge)s"
 msgstr "正在將實體網路 %(physical_network)s 對映到橋接器 %(bridge)s"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:933
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:773
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:771
 #, python-format
 msgid ""
 "Bridge %(bridge)s for physical network %(physical_network)s does not "
@@ -10774,30 +10830,30 @@ msgid ""
 msgstr "實體網路 %(physical_network)s 的橋接器 %(bridge)s 不存在。已終止代理程式!"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:993
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:897
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:895
 #, python-format
 msgid "No VIF port for port %s defined on agent."
 msgstr "未在代理程式上給埠 %s 定義 VIF 埠。"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1005
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:909
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:598
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:722
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:907
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:723
 msgid "ofport should have a value that can be interpreted as an integer"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1008
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:912
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:581
-#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:601
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:705
-#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:725
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:910
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:584
+#: neutron/tests/unit/ofagent/test_ofa_neutron_agent.py:604
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:706
+#: neutron/tests/unit/openvswitch/test_ovs_neutron_agent.py:726
 #, python-format
 msgid "Failed to set-up %(type)s tunnel port to %(ip)s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1106
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1004
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1001
 #, python-format
 msgid "Ancillary Port %s added"
 msgstr ""
@@ -10817,7 +10873,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1189
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1106
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1103
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10825,7 +10881,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1198
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1115
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1112
 #, python-format
 msgid ""
 "process_ancillary_network_ports - iteration: %(iter_num)d - "
@@ -10833,7 +10889,7 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1223
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1157
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1154
 #, python-format
 msgid "Unable to sync tunnel IP %(local_ip)s: %(e)s"
 msgstr "無法同步通道 IP %(local_ip)s:%(e)s"
@@ -10844,7 +10900,7 @@ msgid "Agent ovsdb_monitor_loop - iteration:%d started"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1253
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1198
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1195
 msgid "Agent tunnel out of sync with plugin!"
 msgstr "代理程式通道與外掛程式不同步!"
 
@@ -10891,19 +10947,19 @@ msgid ""
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1352
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1312
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1309
 #, python-format
 msgid "Parsing bridge_mappings failed: %s."
 msgstr "剖析 bridge_mappings 時失敗:%s。"
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1375
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1331
 #, python-format
 msgid "Invalid tunnel type specificed: %s"
 msgstr ""
 
 #: neutron/plugins/ofagent/agent/ofa_neutron_agent.py:1378
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1337
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1334
 msgid "Tunneling cannot be enabled without a valid local_ip."
 msgstr ""
 
@@ -11178,54 +11234,54 @@ msgstr ""
 msgid "Success: %(method)s %(url)s status=%(status)s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:209
+#: neutron/plugins/openvswitch/ovs_db_v2.py:210
 #, python-format
 msgid "Skipping unreasonable tunnel ID range %(tun_min)s:%(tun_max)s"
 msgstr "正在跳過不合理的通道 ID 範圍 %(tun_min)s:%(tun_max)s"
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:257
+#: neutron/plugins/openvswitch/ovs_db_v2.py:258
 #, python-format
 msgid "Reserving tunnel %s from pool"
 msgstr "正在保留儲存區中的通道 %s"
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:272
+#: neutron/plugins/openvswitch/ovs_db_v2.py:273
 #, python-format
 msgid "Reserving specific tunnel %s from pool"
 msgstr "正在保留儲存區中的特定通道 %s"
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:275
+#: neutron/plugins/openvswitch/ovs_db_v2.py:276
 #, python-format
 msgid "Reserving specific tunnel %s outside pool"
 msgstr "正在保留儲存區外部的特定通道 %s"
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:298
+#: neutron/plugins/openvswitch/ovs_db_v2.py:299
 #, python-format
 msgid "Releasing tunnel %s outside pool"
 msgstr "正在釋放儲存區外部的通道 %s"
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:300
+#: neutron/plugins/openvswitch/ovs_db_v2.py:301
 #, python-format
 msgid "Releasing tunnel %s to pool"
 msgstr "正在將通道 %s 釋放到儲存區"
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:302
+#: neutron/plugins/openvswitch/ovs_db_v2.py:303
 #, python-format
 msgid "tunnel_id %s not found"
 msgstr "找不到 tunnel_id %s"
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:374
+#: neutron/plugins/openvswitch/ovs_db_v2.py:375
 #, python-format
 msgid "Adding a tunnel endpoint for %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:390
+#: neutron/plugins/openvswitch/ovs_db_v2.py:391
 #, python-format
 msgid ""
 "Adding a tunnel endpoint failed due to a concurrenttransaction had been "
 "committed (%s attempts left)"
 msgstr ""
 
-#: neutron/plugins/openvswitch/ovs_db_v2.py:395
+#: neutron/plugins/openvswitch/ovs_db_v2.py:396
 msgid "Unable to generate a new tunnel id"
 msgstr ""
 
@@ -11254,126 +11310,126 @@ msgstr "通道 ID 範圍:%s"
 msgid "%s networks are not enabled"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:298
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:299
 #, python-format
 msgid "port_update message processed for port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:675
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:673
 #, python-format
 msgid "Adding %s to list of bridges."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:860
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:858
 #, python-format
 msgid "Port '%(port_name)s' has lost its vlan tag '%(vlan_tag)d'!"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:888
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:886
 #, python-format
 msgid "VIF port: %s has no ofport configured, and might not be able to transmit"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:955
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:952
 #, python-format
 msgid "Processing port %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:961
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:958
 #, python-format
 msgid ""
 "Port %s was not found on the integration bridge and will therefore not be"
 " processed"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:987
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:984
 #, python-format
 msgid "Setting status for %s to UP"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:988
 #, python-format
 msgid "Setting status for %s to DOWN"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:994
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:991
 #, python-format
 msgid "Configuration for device %s completed."
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1085
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1082
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d "
 "-treat_devices_added_or_updated completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1093
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1090
 #, python-format
 msgid ""
 "process_network_ports - iteration:%(iter_num)d -treat_devices_removed "
 "completed in %(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1128
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1125
 #, python-format
 msgid "Unable to create tunnel port. Invalid remote IP: %s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1188
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1185
 #, python-format
 msgid "Agent rpc_loop - iteration:%d started"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1202
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1199
 msgid "Error while synchronizing tunnels"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1206
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1203
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - starting polling. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1218
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1215
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - port information retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1227
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1224
 #, python-format
 msgid "Starting to process devices in:%s"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1231
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1228
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1245
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1242
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d -ancillary port info retrieved. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1254
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1251
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d - ancillary ports processed. "
 "Elapsed:%(elapsed).3f"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1268
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1265
 msgid "Error while processing VIF ports"
 msgstr ""
 
-#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1275
+#: neutron/plugins/openvswitch/agent/ovs_neutron_agent.py:1272
 #, python-format
 msgid ""
 "Agent rpc_loop - iteration:%(iter_num)d completed. Processed ports "
@@ -11627,12 +11683,12 @@ msgstr ""
 msgid "PLUMgrid Library: delete_floatingip() called"
 msgstr ""
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:63
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:64
 #, python-format
 msgid "get_ofp_rest_api: %s"
 msgstr "get_ofp_rest_api:%s"
 
-#: neutron/plugins/ryu/ryu_neutron_plugin.py:124
+#: neutron/plugins/ryu/ryu_neutron_plugin.py:125
 msgid "Invalid configuration. check ryu.ini"
 msgstr "無效的配置。請檢查 ryu.ini"
 
@@ -12011,29 +12067,29 @@ msgstr "[%(rid)d] 收到格式不正確的重新導向位置:%(url)s"
 msgid "Unable to fetch NSX version from response headers :%s"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:34
+#: neutron/plugins/vmware/common/config.py:41
 msgid ""
 "Maximum number of ports of a logical switch on a bridged transport zone "
 "(default 5000)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:38
+#: neutron/plugins/vmware/common/config.py:45
 msgid ""
 "Maximum number of ports of a logical switch on an overlay transport zone "
 "(default 256)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:42
+#: neutron/plugins/vmware/common/config.py:49
 msgid "Maximum concurrent connections to each NSX controller."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:47
+#: neutron/plugins/vmware/common/config.py:54
 msgid ""
 "Number of seconds a generation id should be valid for (default -1 meaning"
 " do not time out)"
 msgstr "產生 ID 的有效秒數(預設值 -1 表示不逾時)"
 
-#: neutron/plugins/vmware/common/config.py:51
+#: neutron/plugins/vmware/common/config.py:58
 msgid ""
 "If set to access_network this enables a dedicated connection to the "
 "metadata proxy for metadata server access via Neutron router. If set to "
@@ -12042,138 +12098,150 @@ msgid ""
 "namespaces otherwise access_network should be used."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:60
+#: neutron/plugins/vmware/common/config.py:67
 msgid ""
 "The default network tranport type to use (stt, gre, bridge, ipsec_gre, or"
 " ipsec_stt)"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:64
+#: neutron/plugins/vmware/common/config.py:71
 msgid "The mode used to implement DHCP/metadata services."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:70
+#: neutron/plugins/vmware/common/config.py:73
+msgid ""
+"The default option leverages service nodes to perform packet replication "
+"though one could set to this to 'source' to perform replication locally. "
+"This is useful if one does not want to deploy a service node(s)."
+msgstr ""
+
+#: neutron/plugins/vmware/common/config.py:82
 msgid ""
 "Interval in seconds between runs of the state synchronization task. Set "
 "it to 0 to disable it"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:74
+#: neutron/plugins/vmware/common/config.py:86
 msgid ""
 "Maximum value for the additional random delay in seconds between runs of "
 "the state synchronization task"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:79
+#: neutron/plugins/vmware/common/config.py:91
 msgid ""
 "Minimum delay, in seconds, between two state synchronization queries to "
 "NSX. It must not exceed state_sync_interval"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:84
+#: neutron/plugins/vmware/common/config.py:96
 msgid ""
 "Minimum number of resources to be retrieved from NSX during state "
 "synchronization"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:88
+#: neutron/plugins/vmware/common/config.py:100
 msgid ""
 "Always read operational status from backend on show operations. Enabling "
 "this option might slow down the system."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:97
+#: neutron/plugins/vmware/common/config.py:109
 msgid "User name for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:102
+#: neutron/plugins/vmware/common/config.py:114
 msgid "Password for NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:105
+#: neutron/plugins/vmware/common/config.py:117
 msgid "Total time limit for a cluster request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:108
+#: neutron/plugins/vmware/common/config.py:120
 msgid "Time before aborting a request"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:111
+#: neutron/plugins/vmware/common/config.py:123
 msgid "Number of time a request should be retried"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:114
+#: neutron/plugins/vmware/common/config.py:126
 msgid "Number of times a redirect should be followed"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:117
+#: neutron/plugins/vmware/common/config.py:129
 msgid "Lists the NSX controllers in this cluster"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:122
+#: neutron/plugins/vmware/common/config.py:134
 msgid ""
 "This is uuid of the default NSX Transport zone that will be used for "
 "creating tunneled isolated \"Neutron\" networks. It needs to be created "
 "in NSX before starting Neutron with the nsx plugin."
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:127
+#: neutron/plugins/vmware/common/config.py:139
 msgid ""
 "Unique identifier of the NSX L3 Gateway service which will be used for "
 "implementing routers and floating IPs"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:131
+#: neutron/plugins/vmware/common/config.py:143
 msgid ""
 "Unique identifier of the NSX L2 Gateway service which will be used by "
 "default for network gateways"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:134
+#: neutron/plugins/vmware/common/config.py:146
 msgid ""
 "Unique identifier of the Service Cluster which will be used by logical "
 "services like dhcp and metadata"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:137
+#: neutron/plugins/vmware/common/config.py:149
 msgid ""
 "Name of the interface on a L2 Gateway transport nodewhich should be used "
 "by default when setting up a network connection"
 msgstr "「L2 閘道」傳輸節點上介面的名稱,依預設,在設定網路連線時應該使用此節點。"
 
-#: neutron/plugins/vmware/common/config.py:147
+#: neutron/plugins/vmware/common/config.py:159
 msgid "User name for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:151
+#: neutron/plugins/vmware/common/config.py:163
 msgid "Password for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:153
+#: neutron/plugins/vmware/common/config.py:165
 msgid "uri for vsm"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:155
+#: neutron/plugins/vmware/common/config.py:167
 msgid "Optional parameter identifying the ID of datacenter to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:158
-#: neutron/plugins/vmware/common/config.py:164
+#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:176
 msgid "Optional parameter identifying the ID of datastore to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:161
+#: neutron/plugins/vmware/common/config.py:173
 msgid "Optional parameter identifying the ID of resource to deploy NSX Edges"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:167
+#: neutron/plugins/vmware/common/config.py:179
 msgid "Network ID for physical network connectivity"
 msgstr ""
 
-#: neutron/plugins/vmware/common/config.py:170
+#: neutron/plugins/vmware/common/config.py:182
 msgid "Task status check interval"
 msgstr ""
 
+#: neutron/plugins/vmware/common/config.py:196
+#, python-format
+msgid "Invalid replication_mode: %s"
+msgstr ""
+
 #: neutron/plugins/vmware/common/exceptions.py:21
 #, python-format
 msgid "An unexpected error occurred in the NSX Plugin: %(err_msg)s"
@@ -12412,28 +12480,28 @@ msgstr ""
 msgid "Specified name:'%s' exceeds maximum length. It will be truncated on NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:74
+#: neutron/plugins/vmware/dbexts/db.py:76
 #, python-format
 msgid "Port mapping for %s already available"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:121
+#: neutron/plugins/vmware/dbexts/db.py:123
 #, python-format
 msgid "NSX identifiers for neutron port %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:132
+#: neutron/plugins/vmware/dbexts/db.py:134
 #, python-format
 msgid "NSX identifiers for neutron router %s not yet stored in Neutron DB"
 msgstr ""
 
-#: neutron/plugins/vmware/dbexts/db.py:147
+#: neutron/plugins/vmware/dbexts/db.py:149
 #, python-format
 msgid "NSX identifiers for neutron security group %s not yet stored in Neutron DB"
 msgstr ""
 
 #: neutron/plugins/vmware/dbexts/lsn_db.py:86
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:69
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:70
 #, python-format
 msgid "Unable to find Logical Service Node for network %s"
 msgstr ""
@@ -12621,80 +12689,80 @@ msgstr ""
 msgid "Monitor Resource binding with id:%s not found!"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:38
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:39
 msgid ""
 "Pull LSN information from NSX in case it is missing from the local data "
 "store. This is useful to rebuild the local store in case of server "
 "recovery."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:80
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:81
 #, python-format
 msgid "Unable to create LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:88
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:89
 #, python-format
 msgid "Unable to delete Logical Service Node %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:105
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:106
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and subnet "
 "%(subnet_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:127
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:128
 #, python-format
 msgid ""
 "Unable to find Logical Service Node Port for LSN %(lsn_id)s and mac "
 "address %(mac)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:147
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:148
 #, python-format
 msgid "Unable to create port for LSN  %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:155
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:156
 #, python-format
 msgid "Unable to delete LSN Port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:172
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:173
 #, python-format
 msgid "Metadata port not found while attempting to delete it from network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:175
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:176
 #, python-format
 msgid "Unable to find Logical Services Node Port with MAC %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:256
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:257
 #, python-format
 msgid ""
 "Unable to configure dhcp for Logical Service Node %(lsn_id)s and port "
 "%(lsn_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:277
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:278
 #, python-format
 msgid "Unable to configure metadata for subnet %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:300
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:301
 #, python-format
 msgid "Error while configuring LSN port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:370
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:373
 #, python-format
 msgid "Unable to save LSN for network %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:432
+#: neutron/plugins/vmware/dhcp_meta/lsnmanager.py:439
 #, python-format
 msgid "Unable to save LSN port for subnet %s"
 msgstr ""
@@ -12720,76 +12788,76 @@ msgstr ""
 msgid "Unable to support multiple subnets per network"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:38
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:39
 msgid "Comma separated list of additional domain name servers"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:46
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:47
 msgid "Default DHCP lease time"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:54
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:55
 msgid "IP address used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:58
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:59
 msgid "TCP Port used by Metadata server."
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:135
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:136
 #, python-format
 msgid ""
 "Error while creating subnet %(cidr)s for network %(network)s. Please, "
 "contact administrator"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:205
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:220
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:206
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:221
 #, python-format
 msgid "Performing DHCP %(action)s for resource: %(resource)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:215
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:216
 #, python-format
 msgid "Logical Services Node for network %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:237
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:238
 #, python-format
 msgid "Error while configuring DHCP for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:249
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:250
 #, python-format
 msgid "DHCP is disabled for subnet %s: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:268
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:269
 #, python-format
 msgid "DHCP for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:276
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:277
 #, python-format
 msgid "Network %s is external: nothing to do"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:284
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:285
 #, python-format
 msgid "Configuring metadata entry for port %s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:296
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:297
 #, python-format
 msgid "Metadata for port %s configured successfully"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:300
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:301
 #, python-format
 msgid "Handle metadata access via router: %(r)s and interface %(i)s"
 msgstr ""
 
-#: neutron/plugins/vmware/dhcp_meta/nsx.py:317
+#: neutron/plugins/vmware/dhcp_meta/nsx.py:318
 #, python-format
 msgid "Metadata for router %s handled successfully"
 msgstr ""
@@ -12907,137 +12975,137 @@ msgid ""
 "%(port)s failed. PatchAttachment already exists with another port"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:247
+#: neutron/plugins/vmware/nsxlib/router.py:250
 #, python-format
 msgid "Cannot update NSX routes %(routes)s for router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:338
+#: neutron/plugins/vmware/nsxlib/router.py:341
 #, python-format
 msgid "Created logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr "已在邏輯路由器 %(lrouter_uuid)s 上建立了邏輯埠 %(lport_uuid)s"
 
-#: neutron/plugins/vmware/nsxlib/router.py:366
+#: neutron/plugins/vmware/nsxlib/router.py:369
 #, python-format
 msgid "Updated logical port %(lport_uuid)s on logical router %(lrouter_uuid)s"
 msgstr "已更新邏輯路由器 %(lrouter_uuid)s 上的邏輯埠 %(lport_uuid)s"
 
-#: neutron/plugins/vmware/nsxlib/router.py:376
+#: neutron/plugins/vmware/nsxlib/router.py:379
 #, python-format
 msgid ""
 "Delete logical router port %(lport_uuid)s on logical router "
 "%(lrouter_uuid)s"
 msgstr "刪除邏輯路由器 %(lrouter_uuid)s 上的邏輯路由器埠 %(lport_uuid)s"
 
-#: neutron/plugins/vmware/nsxlib/router.py:440
+#: neutron/plugins/vmware/nsxlib/router.py:443
 #, python-format
 msgid "Invalid keys for NAT match: %s"
 msgstr "NAT 相符項的索引鍵無效:%s"
 
-#: neutron/plugins/vmware/nsxlib/router.py:446
+#: neutron/plugins/vmware/nsxlib/router.py:449
 #, python-format
 msgid "Creating NAT rule: %s"
 msgstr "正在建立 NAT 規則:%s"
 
-#: neutron/plugins/vmware/nsxlib/router.py:460
+#: neutron/plugins/vmware/nsxlib/router.py:463
 msgid ""
 "No SNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:465
+#: neutron/plugins/vmware/nsxlib/router.py:468
 msgid ""
 "No DNAT rules cannot be applied as they are not available in this version"
 " of the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/router.py:597
+#: neutron/plugins/vmware/nsxlib/router.py:600
 #, python-format
 msgid "Router Port %(lport_id)s not found on router %(lrouter_id)s"
 msgstr "在路由器 %(lrouter_id)s 上找不到路由器埠 %(lport_id)s"
 
-#: neutron/plugins/vmware/nsxlib/router.py:602
+#: neutron/plugins/vmware/nsxlib/router.py:605
 #, python-format
 msgid ""
 "An exception occurred while updating IP addresses on a router logical "
 "port:%s"
 msgstr "更新路由器邏輯埠上的 IP 位址時發生異常狀況:%s"
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:97
+#: neutron/plugins/vmware/nsxlib/secgroup.py:98
 #, python-format
 msgid "Created Security Profile: %s"
 msgstr "已建立安全設定檔:%s"
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:123
+#: neutron/plugins/vmware/nsxlib/secgroup.py:124
 #, python-format
 msgid "Updated Security Profile: %s"
 msgstr "已更新安全設定檔:%s"
 
-#: neutron/plugins/vmware/nsxlib/secgroup.py:143
+#: neutron/plugins/vmware/nsxlib/secgroup.py:145
 #, python-format
 msgid "Unable to find security profile %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:130
+#: neutron/plugins/vmware/nsxlib/switch.py:133
 #, python-format
 msgid "Created logical switch: %s"
 msgstr "已建立邏輯交換器:%s"
 
-#: neutron/plugins/vmware/nsxlib/switch.py:145
-#: neutron/plugins/vmware/nsxlib/switch.py:160
+#: neutron/plugins/vmware/nsxlib/switch.py:148
+#: neutron/plugins/vmware/nsxlib/switch.py:163
 #, python-format
 msgid "Network not found, Error: %s"
 msgstr "找不到網路,錯誤:%s"
 
-#: neutron/plugins/vmware/nsxlib/switch.py:180
+#: neutron/plugins/vmware/nsxlib/switch.py:183
 msgid "Port or Network not found"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:238
+#: neutron/plugins/vmware/nsxlib/switch.py:241
 #, python-format
 msgid "Lswitch %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:247
+#: neutron/plugins/vmware/nsxlib/switch.py:250
 msgid "Unable to get ports"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:264
+#: neutron/plugins/vmware/nsxlib/switch.py:267
 #, python-format
 msgid ""
 "Looking for port with q_port_id tag '%(neutron_port_id)s' on: "
 "'%(lswitch_uuid)s'"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:272
+#: neutron/plugins/vmware/nsxlib/switch.py:275
 #, python-format
 msgid ""
 "Found '%(num_ports)d' ports with q_port_id tag: '%(neutron_port_id)s'. "
 "Only 1 was expected."
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:281
+#: neutron/plugins/vmware/nsxlib/switch.py:284
 #, python-format
 msgid "get_port() %(network)s %(port)s"
 msgstr "get_port() %(network)s %(port)s"
 
-#: neutron/plugins/vmware/nsxlib/switch.py:289
-#: neutron/plugins/vmware/nsxlib/switch.py:320
+#: neutron/plugins/vmware/nsxlib/switch.py:292
+#: neutron/plugins/vmware/nsxlib/switch.py:323
 #, python-format
 msgid "Port or Network not found, Error: %s"
 msgstr "找不到埠或網路,錯誤:%s"
 
-#: neutron/plugins/vmware/nsxlib/switch.py:315
+#: neutron/plugins/vmware/nsxlib/switch.py:318
 #, python-format
 msgid "Updated logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:350
+#: neutron/plugins/vmware/nsxlib/switch.py:353
 #, python-format
 msgid "Created logical port %(result)s on logical switch %(uuid)s"
 msgstr ""
 
-#: neutron/plugins/vmware/nsxlib/switch.py:362
+#: neutron/plugins/vmware/nsxlib/switch.py:365
 #, python-format
 msgid "Port not found, Error: %s"
 msgstr "找不到埠,錯誤:%s"
@@ -13052,103 +13120,103 @@ msgid ""
 "for NSX communication errors."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:207
+#: neutron/plugins/vmware/plugins/base.py:209
 #, python-format
 msgid "Unable to process default l2 gw service:%s"
 msgstr "無法處理預設 l2 gw 服務:%s"
 
-#: neutron/plugins/vmware/plugins/base.py:243
+#: neutron/plugins/vmware/plugins/base.py:244
 #, python-format
 msgid "Created NSX router port:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:245
+#: neutron/plugins/vmware/plugins/base.py:246
 #: neutron/plugins/vmware/plugins/service.py:438
 #, python-format
 msgid "Unable to create port on NSX logical router %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:248
+#: neutron/plugins/vmware/plugins/base.py:249
 #, python-format
 msgid ""
 "Unable to create logical router port for neutron port id %(port_id)s on "
 "router %(nsx_router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:326
+#: neutron/plugins/vmware/plugins/base.py:327
 #, python-format
 msgid "Attached %(att)s to NSX router port %(port)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:332
+#: neutron/plugins/vmware/plugins/base.py:333
 #, python-format
 msgid ""
 "Unable to plug attachment in NSX logical router port %(r_port_id)s, "
 "associated with Neutron %(q_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:338
+#: neutron/plugins/vmware/plugins/base.py:339
 #, python-format
 msgid ""
 "Unable to plug attachment in router port %(r_port_id)s for neutron port "
 "id %(q_port_id)s on router %(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:384
+#: neutron/plugins/vmware/plugins/base.py:385
 msgid "An exception occurred while selecting logical switch for the port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:424
+#: neutron/plugins/vmware/plugins/base.py:425
 #, python-format
 msgid ""
 "An exception occurred while creating the neutron port %s on the NSX "
 "plaform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:436
-#: neutron/plugins/vmware/plugins/base.py:488
-#: neutron/plugins/vmware/plugins/base.py:686
+#: neutron/plugins/vmware/plugins/base.py:437
+#: neutron/plugins/vmware/plugins/base.py:489
+#: neutron/plugins/vmware/plugins/base.py:687
 #, python-format
 msgid ""
 "NSX plugin does not support regular VIF ports on external networks. Port "
 "%s will be down."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:457
+#: neutron/plugins/vmware/plugins/base.py:458
 #, python-format
 msgid ""
 "_nsx_create_port completed for port %(name)s on network %(network_id)s. "
 "The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:468
+#: neutron/plugins/vmware/plugins/base.py:469
 #, python-format
 msgid ""
 "Concurrent network deletion detected; Back-end Port %(nsx_id)s creation "
 "to be rolled back for Neutron port: %(neutron_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:480
+#: neutron/plugins/vmware/plugins/base.py:481
 #, python-format
 msgid "NSX Port %s already gone"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:495
+#: neutron/plugins/vmware/plugins/base.py:496
 #, python-format
 msgid "Port '%s' was already deleted on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:502
+#: neutron/plugins/vmware/plugins/base.py:503
 #, python-format
 msgid "_nsx_delete_port completed for port %(port_id)s on network %(net_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:507
+#: neutron/plugins/vmware/plugins/base.py:508
 #, python-format
 msgid "Port %s not found in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:516
+#: neutron/plugins/vmware/plugins/base.py:517
 #, python-format
 msgid ""
 "Neutron port %(port_id)s not found on NSX backend. Terminating delete "
@@ -13156,348 +13224,348 @@ msgid ""
 "%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:531
-#: neutron/plugins/vmware/plugins/base.py:1054
+#: neutron/plugins/vmware/plugins/base.py:532
+#: neutron/plugins/vmware/plugins/base.py:1055
 #, python-format
 msgid ""
 "Ignoring exception as this means the peer for port '%s' has already been "
 "deleted."
 msgstr "正在忽略異常狀況,因為這意味著埠 '%s' 的同層級已刪除。"
 
-#: neutron/plugins/vmware/plugins/base.py:543
+#: neutron/plugins/vmware/plugins/base.py:544
 #, python-format
 msgid ""
 "It is not allowed to create router interface ports on external networks "
 "as '%s'"
 msgstr "不容許在外部網路上建立路由器介面埠來作為 '%s'"
 
-#: neutron/plugins/vmware/plugins/base.py:568
+#: neutron/plugins/vmware/plugins/base.py:569
 #, python-format
 msgid ""
 "_nsx_create_router_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:581
+#: neutron/plugins/vmware/plugins/base.py:582
 #, python-format
 msgid ""
 "device_id field must be populated in order to create an external gateway "
 "port for network %s"
 msgstr "必須將資料移入 device_id 欄位,才能給網路 %s 建立外部閘道埠"
 
-#: neutron/plugins/vmware/plugins/base.py:591
+#: neutron/plugins/vmware/plugins/base.py:592
 #, python-format
 msgid "The gateway port for the NSX router %s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:632
+#: neutron/plugins/vmware/plugins/base.py:633
 #, python-format
 msgid ""
 "_nsx_create_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to router:%(router_id)s. NSX port id is %(nsx_port_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:667
-#: neutron/plugins/vmware/plugins/base.py:1771
+#: neutron/plugins/vmware/plugins/base.py:668
+#: neutron/plugins/vmware/plugins/base.py:1772
 #, python-format
 msgid "Logical router resource %s not found on NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:671
-#: neutron/plugins/vmware/plugins/base.py:1775
+#: neutron/plugins/vmware/plugins/base.py:672
+#: neutron/plugins/vmware/plugins/base.py:1776
 msgid "Unable to update logical routeron NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:673
+#: neutron/plugins/vmware/plugins/base.py:674
 #, python-format
 msgid ""
 "_nsx_delete_ext_gw_port completed on external network %(ext_net_id)s, "
 "attached to NSX router:%(router_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:715
+#: neutron/plugins/vmware/plugins/base.py:716
 #, python-format
 msgid ""
 "_nsx_create_l2_gw_port completed for port %(name)s on network "
 "%(network_id)s. The new port id is %(id)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:755
+#: neutron/plugins/vmware/plugins/base.py:756
 #, python-format
 msgid "%s required"
 msgstr "需要 %s"
 
-#: neutron/plugins/vmware/plugins/base.py:759
+#: neutron/plugins/vmware/plugins/base.py:760
 msgid "Segmentation ID cannot be specified with flat network type"
 msgstr "無法使用平面網路類型來指定分段 ID"
 
-#: neutron/plugins/vmware/plugins/base.py:763
+#: neutron/plugins/vmware/plugins/base.py:764
 msgid "Segmentation ID must be specified with vlan network type"
 msgstr "必須使用 VLAN 網路類型來指定分段 ID"
 
-#: neutron/plugins/vmware/plugins/base.py:767
-#: neutron/plugins/vmware/plugins/base.py:783
+#: neutron/plugins/vmware/plugins/base.py:768
+#: neutron/plugins/vmware/plugins/base.py:784
 #, python-format
 msgid "%(segmentation_id)s out of range (%(min_id)s through %(max_id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:789
+#: neutron/plugins/vmware/plugins/base.py:790
 #, python-format
 msgid "%(net_type_param)s %(net_type_value)s not supported"
 msgstr "不支援 %(net_type_param)s %(net_type_value)s"
 
-#: neutron/plugins/vmware/plugins/base.py:834
+#: neutron/plugins/vmware/plugins/base.py:835
 #, python-format
 msgid "No switch has available ports (%d checked)"
 msgstr "交換器沒有可用的埠(已檢查 %d 個)"
 
-#: neutron/plugins/vmware/plugins/base.py:868
+#: neutron/plugins/vmware/plugins/base.py:869
 #, python-format
 msgid "Maximum number of logical ports reached for logical network %s"
 msgstr "已達到邏輯網路 %s 的邏輯埠數目上限"
 
-#: neutron/plugins/vmware/plugins/base.py:958
+#: neutron/plugins/vmware/plugins/base.py:959
 #, python-format
 msgid ""
 "Network with admin_state_up=False are not yet supported by this plugin. "
 "Ignoring setting for network %s"
 msgstr "此外掛程式尚不支援 admin_state_up = False 的網路。正在忽略對網路 %s 的設定"
 
-#: neutron/plugins/vmware/plugins/base.py:1043
+#: neutron/plugins/vmware/plugins/base.py:1044
 #, python-format
 msgid ""
 "A nsx lport identifier was not found for neutron port '%s'. Unable to "
 "remove the peer router port for this switch port"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1062
+#: neutron/plugins/vmware/plugins/base.py:1063
 #, python-format
 msgid "delete_network completed for tenant: %s"
 msgstr "已對 Tenant 完成 delete_network:%s"
 
-#: neutron/plugins/vmware/plugins/base.py:1065
+#: neutron/plugins/vmware/plugins/base.py:1066
 #: neutron/plugins/vmware/plugins/service.py:517
 #, python-format
 msgid "Did not found lswitch %s in NSX"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1095
+#: neutron/plugins/vmware/plugins/base.py:1096
 msgid "admin_state_up=False networks are not supported."
 msgstr "不支援 admin_state_up = False 網路。"
 
-#: neutron/plugins/vmware/plugins/base.py:1163
+#: neutron/plugins/vmware/plugins/base.py:1164
 #, python-format
 msgid "create_port completed on NSX for tenant %(tenant_id)s: (%(id)s)"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1177
+#: neutron/plugins/vmware/plugins/base.py:1178
 #, python-format
 msgid "Logical switch for network %s was not found in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1188
+#: neutron/plugins/vmware/plugins/base.py:1189
 msgid "Unable to create port or set port attachment in NSX."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1280
+#: neutron/plugins/vmware/plugins/base.py:1281
 #, python-format
 msgid "Updating port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1315
+#: neutron/plugins/vmware/plugins/base.py:1316
 #, python-format
 msgid "Unable to update port id: %s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1398
+#: neutron/plugins/vmware/plugins/base.py:1399
 msgid ""
 "Cannot create a distributed router with the NSX platform currently in "
 "execution. Please, try without specifying the 'distributed' attribute."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1404
+#: neutron/plugins/vmware/plugins/base.py:1405
 msgid "Unable to create logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1415
+#: neutron/plugins/vmware/plugins/base.py:1416
 #, python-format
 msgid ""
 "Unable to create L3GW port on logical router %(router_uuid)s. Verify "
 "Default Layer-3 Gateway service %(def_l3_gw_svc)s id is correct"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1425
+#: neutron/plugins/vmware/plugins/base.py:1426
 #, python-format
 msgid "Unable to create router %s on NSX backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1454
-#: neutron/plugins/vmware/plugins/base.py:1539
+#: neutron/plugins/vmware/plugins/base.py:1455
+#: neutron/plugins/vmware/plugins/base.py:1540
 #: neutron/plugins/vmware/plugins/service.py:200
 #: neutron/plugins/vmware/plugins/service.py:1206
 #, python-format
 msgid "Network '%s' is not a valid external network"
 msgstr "網路 '%s' 不是有效的外部網路"
 
-#: neutron/plugins/vmware/plugins/base.py:1503
+#: neutron/plugins/vmware/plugins/base.py:1504
 #, python-format
 msgid "Failed to set gateway info for router being created:%s - removing router"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1506
+#: neutron/plugins/vmware/plugins/base.py:1507
 #, python-format
 msgid ""
 "Create router failed while setting external gateway. Router:%s has been "
 "removed from DB and backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1548
+#: neutron/plugins/vmware/plugins/base.py:1549
 msgid ""
 "'routes' cannot contain route '0.0.0.0/0', this must be updated through "
 "the default gateway attribute"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1564
+#: neutron/plugins/vmware/plugins/base.py:1565
 #, python-format
 msgid "Logical router %s not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1568
+#: neutron/plugins/vmware/plugins/base.py:1569
 msgid "Unable to update logical router on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1570
+#: neutron/plugins/vmware/plugins/base.py:1571
 msgid ""
 "Request cannot contain 'routes' with the NSX platform currently in "
 "execution. Please, try without specifying the static routes."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1627
+#: neutron/plugins/vmware/plugins/base.py:1628
 #, python-format
 msgid "Logical router '%s' not found on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1631
+#: neutron/plugins/vmware/plugins/base.py:1632
 #, python-format
 msgid "Unable to delete logical router '%s' on NSX Platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1641
+#: neutron/plugins/vmware/plugins/base.py:1642
 #, python-format
 msgid ""
 "Unable to remove NSX mapping for Neutron router %(router_id)s because of "
 "the following exception:%(d_exc)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1709
+#: neutron/plugins/vmware/plugins/base.py:1710
 #, python-format
 msgid ""
 "Add_router_interface completed for subnet:%(subnet_id)s and "
 "router:%(router_id)s"
 msgstr "已對子網路 %(subnet_id)s 及路由器 %(router_id)s 完成 Add_router_interface"
 
-#: neutron/plugins/vmware/plugins/base.py:1806
+#: neutron/plugins/vmware/plugins/base.py:1808
 #, python-format
 msgid ""
 "An error occurred while removing NAT rules on the NSX platform for "
 "floating ip:%s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1812
+#: neutron/plugins/vmware/plugins/base.py:1813
 msgid "An incorrect number of matching NAT rules was found on the NSX platform"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1944
+#: neutron/plugins/vmware/plugins/base.py:1945
 #, python-format
 msgid ""
 "An error occurred while creating NAT rules on the NSX platform for "
 "floating ip:%(floating_ip)s mapped to internal ip:%(internal_ip)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1950
+#: neutron/plugins/vmware/plugins/base.py:1951
 msgid "Failed to update NAT rules for floatingip update"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:1985
+#: neutron/plugins/vmware/plugins/base.py:1986
 #, python-format
 msgid "The port '%s' is not associated with floating IPs"
 msgstr "埠 '%s' 未與浮動 IP 產生關聯"
 
-#: neutron/plugins/vmware/plugins/base.py:1988
+#: neutron/plugins/vmware/plugins/base.py:1989
 #, python-format
 msgid "Nat rules not found in nsx for port: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2022
+#: neutron/plugins/vmware/plugins/base.py:2023
 #, python-format
 msgid "Unable to create l2_gw_service for: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2045
+#: neutron/plugins/vmware/plugins/base.py:2046
 msgid ""
 "Unable to remove gateway service from NSX plaform - the resource was not "
 "found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2075
+#: neutron/plugins/vmware/plugins/base.py:2076
 #, python-format
 msgid "Unable to update name on NSX backend for network gateway: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2129
-#: neutron/plugins/vmware/plugins/base.py:2175
+#: neutron/plugins/vmware/plugins/base.py:2130
+#: neutron/plugins/vmware/plugins/base.py:2176
 #, python-format
 msgid ""
 "Neutron gateway device: %(neutron_id)s; NSX transport node identifier: "
 "%(nsx_id)s; Operational status: %(status)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2139
+#: neutron/plugins/vmware/plugins/base.py:2140
 #, python-format
 msgid "Unable to create gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2187
+#: neutron/plugins/vmware/plugins/base.py:2188
 #, python-format
 msgid "Unable to update gateway device: %s on NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2196
+#: neutron/plugins/vmware/plugins/base.py:2197
 #, python-format
 msgid ""
 "Unable to update gateway device: %s on NSX backend, as the gateway was "
 "not found on the NSX backend."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2283
+#: neutron/plugins/vmware/plugins/base.py:2284
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s) because the NSX resource was not found"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2288
+#: neutron/plugins/vmware/plugins/base.py:2291
 #, python-format
 msgid ""
 "Removal of gateway device: %(neutron_id)s failed on NSX backend (NSX "
 "id:%(nsx_id)s). Neutron and NSX states have diverged."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2338
+#: neutron/plugins/vmware/plugins/base.py:2339
 #, python-format
 msgid ""
 "Error while updating security profile %(uuid)s with name %(name)s: "
 "%(error)s."
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2370
+#: neutron/plugins/vmware/plugins/base.py:2371
 #, python-format
 msgid ""
 "The NSX security profile %(sec_profile_id)s, associated with the Neutron "
 "security group %(sec_group_id)s was not found on the backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2378
+#: neutron/plugins/vmware/plugins/base.py:2379
 #, python-format
 msgid ""
 "An exception occurred while removing the NSX security profile "
@@ -13505,12 +13573,12 @@ msgid ""
 "%(sec_group_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2385
+#: neutron/plugins/vmware/plugins/base.py:2386
 #, python-format
 msgid "Unable to remove security group %s from backend"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/base.py:2398
+#: neutron/plugins/vmware/plugins/base.py:2399
 #, python-format
 msgid "Port values not valid for protocol: %s"
 msgstr ""
@@ -13665,11 +13733,11 @@ msgid ""
 "does not have a gateway yet!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1566
+#: neutron/plugins/vmware/plugins/service.py:1567
 msgid "Bad or unsupported Input request!"
 msgstr ""
 
-#: neutron/plugins/vmware/plugins/service.py:1569
+#: neutron/plugins/vmware/plugins/service.py:1570
 #, python-format
 msgid ""
 "Failed to update ipsec VPN configuration with vpnservice: "
@@ -14024,156 +14092,156 @@ msgstr ""
 msgid "Can't execute insert rule operation without reference rule_id"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:49
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:50
 #, python-format
 msgid ""
 "Unsupported ike_version: %s! Only 'v1' ike version is supported on "
 "vshield Edge!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:63
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:64
 msgid ""
 "IKEPolicy and IPsecPolicy should have consistent auth_algorithm, "
 "encryption_algorithm and pfs for VSE!"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:71
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:72
 #, python-format
 msgid ""
 "Unsupported encryption_algorithm: %s! '3des', 'aes-128' and 'aes-256' are"
 " supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:80
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:81
 #, python-format
 msgid "Unsupported pfs: %s! 'group2' and 'group5' are supported on VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:88
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:89
 #, python-format
 msgid ""
 "Unsupported transform protocol: %s! 'esp' is supported by default on VSE "
 "right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:97
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:98
 #, python-format
 msgid ""
 "Unsupported encapsulation mode: %s! 'tunnel' is supported by default on "
 "VSE right now."
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:134
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:136
 #, python-format
 msgid "Failed to update ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:142
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:143
 #, python-format
 msgid "IPsec config not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:144
+#: neutron/plugins/vmware/vshield/edge_ipsecvpn_driver.py:146
 #, python-format
 msgid "Failed to delete ipsec vpn configuration with edge_id: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:154
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:156
 #, python-format
 msgid "Invalid %(protocol)s persistence method: %(type)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:180
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:182
 #, python-format
 msgid "Failed to create app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:191
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:193
 #, python-format
 msgid "Failed to create vip on vshield edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:209
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:211
 #, python-format
 msgid "vip_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:226
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:228
 msgid "Failed to get vip on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:243
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:245
 #, python-format
 msgid "Failed to update app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:251
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:253
 #, python-format
 msgid "Failed to update vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:262
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:264
 #, python-format
 msgid "vip not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:265
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:267
 #, python-format
 msgid "Failed to delete vip on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:270
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:272
 #, python-format
 msgid "app profile not found on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:273
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:275
 #, python-format
 msgid "Failed to delete app profile on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:284
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:286
 msgid "Failed to create pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:301
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:303
 #, python-format
 msgid "pool_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:311
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:313
 msgid "Failed to get pool on edge"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:323
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:325
 msgid "Failed to update pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:333
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:335
 msgid "Failed to delete pool"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:343
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:345
 #, python-format
 msgid "Failed to create monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:361
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:363
 #, python-format
 msgid "monitor_binding not found with id: %(id)s edge_id: %(edge_id)s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:371
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:373
 #, python-format
 msgid "Failed to get monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:388
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:390
 #, python-format
 msgid "Failed to update monitor on edge: %s"
 msgstr ""
 
-#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:399
+#: neutron/plugins/vmware/vshield/edge_loadbalancer_driver.py:401
 msgid "Failed to delete monitor"
 msgstr ""
 
@@ -14828,40 +14896,41 @@ msgid "Multiple device drivers with the same name found: %s"
 msgstr ""
 
 #: neutron/services/loadbalancer/agent/agent_manager.py:141
-msgid "Error upating stats"
-msgstr "更新統計資料時發生錯誤"
+#, python-format
+msgid "Error updating statistics on pool %s"
+msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:156
+#: neutron/services/loadbalancer/agent/agent_manager.py:157
 msgid "Unable to retrieve ready devices"
 msgstr "無法擷取備妥的裝置"
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:173
-#: neutron/services/loadbalancer/agent/agent_manager.py:238
+#: neutron/services/loadbalancer/agent/agent_manager.py:174
+#: neutron/services/loadbalancer/agent/agent_manager.py:239
 #, python-format
 msgid "No device driver on agent: %s."
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:183
+#: neutron/services/loadbalancer/agent/agent_manager.py:184
 #, python-format
 msgid "Unable to deploy instance for pool: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:193
+#: neutron/services/loadbalancer/agent/agent_manager.py:194
 #, python-format
 msgid "Unable to destroy device for pool: %s"
 msgstr "無法毀損儲存區的裝置:%s"
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:206
+#: neutron/services/loadbalancer/agent/agent_manager.py:207
 #, python-format
 msgid "%(operation)s %(obj)s %(id)s failed on device driver %(driver)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:332
+#: neutron/services/loadbalancer/agent/agent_manager.py:333
 #, python-format
 msgid "Destroying pool %s due to agent disabling"
 msgstr ""
 
-#: neutron/services/loadbalancer/agent/agent_manager.py:335
+#: neutron/services/loadbalancer/agent/agent_manager.py:336
 #, python-format
 msgid "Agent_updated by server side %s!"
 msgstr ""
@@ -14879,29 +14948,30 @@ msgstr ""
 msgid "Multiple lbaas agents found on host %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:99
-msgid "Expected active pool"
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:98
+#, python-format
+msgid "Pool_id %(pool_id)s status ACTIVE is expected but status is %(status)s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:161
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:163
 #, python-format
 msgid "Unknown object type: %s"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:172
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:174
 #, python-format
 msgid ""
 "Cannot update status: %(obj_type)s %(obj_id)s not found in the DB, it was"
 " probably deleted concurrently"
 msgstr ""
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:195
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:197
 #, python-format
 msgid "Unable to find port %s to plug."
 msgstr "找不到要插入的埠 %s。"
 
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:219
-#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:236
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:221
+#: neutron/services/loadbalancer/drivers/common/agent_driver_base.py:238
 #, python-format
 msgid ""
 "Unable to find port %s to unplug.  This can occur when the Vip has been "
@@ -15478,35 +15548,35 @@ msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:106
 #, python-format
-msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+msgid "%(method)s: Unable to connect to CSR(%(host)s)"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:111
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:110
 #, python-format
 msgid "%(method)s: Unexpected error for CSR (%(host)s): %(error)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:117
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:116
 #, python-format
 msgid "%(method)s: Completed [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:132
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:131
 #, python-format
 msgid "%(auth)s with CSR %(host)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:139
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:138
 #, python-format
 msgid "Successfully authenticated with CSR %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:141
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:140
 #, python-format
 msgid "Failed authentication with CSR %(host)s [%(status)s]"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:176
+#: neutron/services/vpn/device_drivers/cisco_csr_rest_client.py:175
 #, python-format
 msgid "%(method)s: Request timeout for CSR(%(host)s)"
 msgstr ""
@@ -15590,146 +15660,147 @@ msgid "No Cisco CSR configurations found in: %s"
 msgstr ""
 
 #: neutron/services/vpn/device_drivers/cisco_ipsec.py:224
-msgid "Handling VPN service update notification"
+#, python-format
+msgid "Handling VPN service update notification '%s'"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:245
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:246
 #, python-format
 msgid "Update: IPSec connection %s unchanged - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:251
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:252
 #, python-format
 msgid "Update: IPSec connection %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:255
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:256
 #, python-format
 msgid "Update: Unknown IPSec connection %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:258
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:259
 #, python-format
 msgid "Update: New IPSec connection %s - marking clean"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:269
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:270
 #, python-format
 msgid ""
 "Update: Skipping VPN service %(service)s as it's router (%(csr_id)s is "
 "not associated with a Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:280
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:281
 #, python-format
 msgid "Update: VPN service %s is admin down - will be removed in sweep phase"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:285
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:286
 #, python-format
 msgid "Update: Unknown VPN service %s is admin down - ignoring"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:290
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:291
 #, python-format
 msgid "Update: Processing IPSec connections for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:294
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:295
 msgid "Update: Completed update processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:324
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:325
 #, python-format
 msgid "Mark: %(service)d VPN services and %(conn)d IPSec connections marked dirty"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:343
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:344
 #, python-format
 msgid ""
 "Sweep: Removed %(service)d dirty VPN service%(splural)s and %(conn)d "
 "dirty IPSec connection%(cplural)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:358
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:359
 #, python-format
 msgid "Report: Collecting status for IPSec connections on VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:366
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:367
 #, python-format
 msgid "Report: Adding info for IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:390
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:391
 #, python-format
 msgid "Report: Adding info for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:407
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:408
 msgid "Report: Starting status report"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:409
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:410
 #, python-format
 msgid "Report: Collecting status for VPN service %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:415
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:416
 msgid "Sending status report update to plugin"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:417
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:418
 msgid "Report: Completed status report processing"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:682
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:683
 #, python-format
 msgid "Unable to create %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:695
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:723
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:696
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:724
 #, python-format
 msgid "Internal error - '%s' is not defined"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:708
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:709
 #, python-format
 msgid "Unable to delete %(resource)s %(which)s: %(status)d"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:717
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:718
 #, python-format
 msgid "Performing rollback action %(action)s for resource %(resource)s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:743
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:744
 #, python-format
 msgid "Creating IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:776
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:777
 #, python-format
 msgid "FAILED: Create of IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:779
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:780
 #, python-format
 msgid "SUCCESS: Created IPSec site-to-site connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:788
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:789
 #, python-format
 msgid "Deleting IPSec connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:790
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:791
 #, python-format
 msgid "Unable to find connection %s"
 msgstr ""
 
-#: neutron/services/vpn/device_drivers/cisco_ipsec.py:794
+#: neutron/services/vpn/device_drivers/cisco_ipsec.py:795
 #, python-format
 msgid "SUCCESS: Deleted IPSec site-to-site connection %s"
 msgstr ""
@@ -15760,6 +15831,11 @@ msgstr ""
 msgid "Failed to disable vpn process on router %s"
 msgstr ""
 
+#: neutron/services/vpn/service_drivers/__init__.py:78
+#, python-format
+msgid "Notify agent at %(topic)s.%(host)s the message %(method)s %(args)s"
+msgstr ""
+
 #: neutron/services/vpn/service_drivers/cisco_csr_db.py:46
 #, python-format
 msgid "Fatal - %(reason)s"
@@ -15832,7 +15908,7 @@ msgstr ""
 msgid "IPSec connection %s validated for Cisco CSR"
 msgstr ""
 
-#: neutron/services/vpn/service_drivers/cisco_ipsec.py:186
+#: neutron/services/vpn/service_drivers/cisco_ipsec.py:187
 msgid "update of IPSec connections. You can delete and re-add, as a workaround."
 msgstr ""
 
@@ -16042,17 +16118,17 @@ msgstr ""
 msgid "list_router_routes: routes=%s"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:78
+#: neutron/tests/unit/nec/test_ofc_client.py:85
 msgid "The specified OFC resource (/somewhere) is not found."
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:82
-#: neutron/tests/unit/nec/test_ofc_client.py:88
-#: neutron/tests/unit/nec/test_ofc_client.py:97
+#: neutron/tests/unit/nec/test_ofc_client.py:89
+#: neutron/tests/unit/nec/test_ofc_client.py:95
+#: neutron/tests/unit/nec/test_ofc_client.py:104
 msgid "An OFC exception has occurred: Operation on OFC failed"
 msgstr ""
 
-#: neutron/tests/unit/nec/test_ofc_client.py:107
+#: neutron/tests/unit/nec/test_ofc_client.py:114
 msgid "An OFC exception has occurred: Failed to connect OFC : "
 msgstr ""
 
@@ -17377,20 +17453,6 @@ msgstr ""
 #~ msgid "Must specify one or more actions"
 #~ msgstr "必須指定一個以上的動作"
 
-#~ msgid ""
-#~ "No DHCP agents are associated with "
-#~ "network '%(net_id)s'. Unable to send "
-#~ "notification for '%(method)s' with payload:"
-#~ " %(payload)s"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "Only %(active)d of %(total)d DHCP agents"
-#~ " associated with network '%(net_id)s' are"
-#~ " marked as active, so notifications "
-#~ "may be sent to inactive agents."
-#~ msgstr ""
-
 #~ msgid "Mechanism driver %s failed in validate_port_binding"
 #~ msgstr ""
 
@@ -17412,3 +17474,36 @@ msgstr ""
 #~ msgid "Binding valid."
 #~ msgstr ""
 
+#~ msgid "Driver for Security Groups Firewall"
+#~ msgstr ""
+
+#~ msgid "Original exception being dropped: %s"
+#~ msgstr "正在捨棄原始異常狀況:%s"
+
+#~ msgid "Unexpected exception occurred %d time(s)... retrying."
+#~ msgstr ""
+
+#~ msgid "Failed to delete neutron db, while Midonet bridge=%rhad been deleted"
+#~ msgstr ""
+
+#~ msgid ""
+#~ "Invalid input for operation: "
+#~ "portinfo:datapath_id should be a hex "
+#~ "string with at most 8 bytes"
+#~ msgstr ""
+
+#~ msgid "Invalid input for operation: portinfo:port_no should be [0:65535]"
+#~ msgstr ""
+
+#~ msgid "Error upating stats"
+#~ msgstr "更新統計資料時發生錯誤"
+
+#~ msgid "Expected active pool"
+#~ msgstr ""
+
+#~ msgid "%(method)s: Unable to connect to CSR(%(host)s): %(error)s"
+#~ msgstr ""
+
+#~ msgid "Handling VPN service update notification"
+#~ msgstr ""
+